SMTP (二)

SMTP(二)
telnet远程链接:(谁都可以链接,存在安全隐患)

telnet:禁止谁远程链接我的主机发送邮件(任何我主机的用户都不能被链接)
vim /etc/postfix/access
172.25.254.131REJECT
postmap access(生成access.db加密文件)

postconf -d | grep client

postconf-e "smtpd_client_restrictions =check_client_accesshash:/etc/postfix/access"(check_client_access:检测客户)

vim /etc/postfix/main.cf

systemctl restart postfix.service

测试:

删除此设置
vim /etc/postfix/access(删除禁止)
postmap access(重新加密)
systemctl restart postfix.service

设置我的哪个主机用户不能被远程链接(本地可以)发送邮件,但是这个用户可以收到邮件(没用被禁止的主机用户可以链接)
vim /etc/postfix/sender

postmap sender(写完整的用户名)
postconf -d | grep sender

postconf-e "smtpd_client_restrictions =check_sender_accesshash:/etc/postfix/sender"(check_sender_access:检测用户)

systemctl restart postfix.service

测试:

我的哪一个主机用户不能收邮件(远程登陆的不可以,本地发送的也不可以收到)

 

修改之前(student用户可以收邮件)

vim /etc/postfix/recip


postconf -d | grep recip


postconf-e "smtpd_recipient_restrictions = check_recipient_accesshash:/etc/postfix/recip"

systemctl restart postfix.service

测试:

登陆验证用户接收邮件:

yum install dovecot –y


vim /etc/dovecot/dovecot.conf


disable_plaintext_auth = no

cd /etc/dovecot/conf.d
vim 10-mail.conf
mail_location = mbox:~/mail:INBOX=/var/mail/%u

测试:mutt -f imap://[email protected](前提是在/home/studnet下有/mail/.iamp/INDOX这个文件存在

数据库连接邮箱:
网页管理数据库:

创建数据库:mail
创建表格:muser


创建用户:
给权限:


查询:
cd /etc/postfix
vim mysql-user.cf

hosts = localhost
user = postfix
password = postfix
dbname = email
table = muser
select_field = username
where_field = username

查询测试:postmap -q "[email protected]" /etc/postfix/mysql-user.cf

vim mysql-domain.cf
hosts = localhost
user = postfix
password = postfix
dbname = email
table = muser
select_field = domain
where_field = domain

查询测试:postmap -q "dd.org" /etc/postfix/mysql-domain.cf

vim mysql-maildri.cf
hosts = localhost
user = postfix
password = postfix
dbname = email
table = muser
select_field = mailder
where_field = username

查询测试:postmap -q "[email protected]" /etc/postfix/mysql-maildir.cf

给数据库里面的虚拟用户发送邮件
groupadd -g 666 vmail
useradd -g 666 -u 666 vmain

virtual_gid_maps = static:666
virtual_uid_maps = static:666
virtual_mailbox_base = /home/vmail
virtual_alias_maps = mysql:/etc/postfix/mysql-user.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql-domain.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-maildir.cf

cd /home/vmail

数据库里面的虚拟用户收邮件

 

vim dovecot.conf

protocols = imap pop3 lmtp
disable_plaintext_auth = no
    
vim dovecot-sql.conf.ext

driver = mysql
connect = host=localhost dbname=email user=postfix password=postfix
default_pass_scheme = PLAIN


password_query = \
  SELECT username, domain, password \
  FROM muser WHERE username = ‘%u‘ AND domain =‘%d‘
user_query = SELECT mailder, 666 AS uid, 666 AS gid FROM muserWHERE username = ‘%u‘

(认真 细心 一定不要写错哦 ~)

vim 10-auth.conf

!include auth-system.conf.ext
!include auth-sql.conf.ext

vim 10-mail.conf
mail_location

maildir:/home/vmail/%d/%n


first_valid_uid = 666
first_valid_gid = 666

邮件空壳:

空壳:

配置dns:

vim /etc/named.rfc1912.zones

zone"dd.org" IN {

type master;

file "dd.org.zone";

allow-update { none; };

};

vim/var/name/dd.org.zone

(请参照前面所讲的DNS的知识~)

测试:(dd.org域真实指向的是172.25.254.131 )

配置/etc/postfix/main.cf

myhostname =dd.dd.com(真实空壳主机名)

mydomain = dd.com(真实域名)

myorigin = dd.org (做哪个域的空

inet_interfaces =all(打开25接口)

local_transport =error:local delivery disabled(如果给空壳传送邮件会报错

mydestination=            (什么都不写:因为作为空壳不接收处理任何邮件)

relayhost =172.25.254.231(主处理邮件的服务器)

systemctl restartpostfix.service

真实的接受邮件的服务器:(MTA:邮件服务器)

vim/etc/postfix/main.cf

mynetworks = 172.25.254.131 (我的空壳是谁)

systemctl restartpostfix.service

测试:

给[email protected]

发送一封邮件

时间: 2024-11-07 17:26:30

SMTP (二)的相关文章

node.js发送邮件email

通常我们做node项目时,可能我们会碰到做一个简单的邮件反馈,那么我们今天就来讨论一下,其中遇到的各种坑. 总的来说做这个东西,我们可能需要node第三方依赖模块,来实现我们要达到的效果. 这里我推荐两个模块:https://github.com/pingfanren/Nodemailer npm install nodemailer //这个模块不错,github上星也比较多,还经常有维护,但是坑也比较多 另一个,https://github.com/eleith/emailjs npm in

Jmeter jdbc接口测试

一,jmeter工具介绍 JMeter也称为"Apache JMeter",它是一个开源的,100%基于Java的应用程序,带有图形界面. 它旨在分析和衡量Web应用程序和各种服务的性能和负载功能行为. JMeter主要用于测试Web应用程序或FTP应用程序,但目前,它适用于功能测试,JDBC数据库连接,Web服务,通用TCP连接和OS本机进程. 您可以执行各种测试活动,如性能,负载,压力,回归和功能测试,以便针对您的Web服务器获得准确的性能指标. JMeter支持的协议列表: We

JAVA+PHP+阿里云组件纯手工实现POP、SMTP、IMAP开发邮件服务器(二)

java开发邮件服务器的接收模块 用java建立socket服务端,监听端口25,实现SMTP协议.即可完成邮件服务器的接收模块. 这里要注意的是,SMTP协议其实可以分为两种.一种是你用手机.PC等客户端发邮件到邮件服务商的服务器的时候用的SMTP协议,这一类是需要登录验证的.一种是邮件服务商之间传递邮件的SMTP协议,此类协议是不需要登录的.比如你用Foxmail上你的QQ邮箱发送了一封邮件到163的邮箱.过程是这样的: 邮件从Foxmail通过SMTP协议发送到QQ邮箱的服务器. QQ邮箱

smtp协议(二)

####smtp协议(二)####1. 权限设置(1)限制主机去发送接受文件[[email protected] postfix]# vim access172.25.254.9 REJECT[[email protected] postfix]# postmap access[[email protected] postfix]# postconf -e "smtpd_client_restrictions =check_client_access hash:/etc/postfix/acce

探索Oracle之数据库升级二 11.2.0.3升级到11.2.0.4完整步骤

探索Oracle之数据库升级二  11.2.0.3升级到11.2.0.4完整步骤 说明:         这篇文章主要是记录下单实例环境下Oracle 11.2.0.1升级到11.2.0.3的过程,当然RAC的升级是会有所不同.但是他们每个版本之间升级步骤都是差不多的,先升级Database Software,再升级Oracle Instance. Oracle 11.2.0.4的Patchset No:19852360下载需要有Oracle Support才可以.  Patchset包含有7个

持续集成(二)工具搭建篇—内网邮件服务器搭建

在我们的持续构建中,项目构建中出现错误提醒,或者开发人员之间的沟通交流,进度汇报的事务,都是离不开一个通信工具,那就是邮件.在我们的项目开发中如果使用第三方的邮件平台,这肯定不是最好的选择,因为第三方的邮件需要外网的支持,但是外网又不是特别的可靠,假如外网链接出现了问题,这样就会不必要的延误我们的工期.再或者很多项目都是保密项目,在开发中只能用内网.但是不用邮件吧又不行.为了解决这个头疼的问题,我们的内网邮件服务器工具就出现了,只要用它安装在我们的服务器上,配置好账户,配置好客户端,在内网里就可

Python之路【第三篇】:Python基础(二)

Python之路[第三篇]:Python基础(二) 内置函数 一 详细见python文档,猛击这里 文件操作 操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开文件 1 文件句柄 = file('文件路径', '模式') 注:python中打开文件有两种方式,即:open(...) 和  file(...) ,本质上前者在内部会调用后者来进行文件操作,推荐使用 open. 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作.

C# 网络编程之基于SMTP发送电子邮件

        本文主要讲述基于C#网络编程的发送邮件的编程,邮件发送功能是基于邮件协议的,常见的电子邮件协议有SMTP(简单邮件传输协议).POP3(邮局协议).IMAP(Internet邮件訪问协议),文章主要參考周存杰的<C#网络编程实例教程>.这也是最后一篇參照该书的网络编程文章,之后的该系列文章都是基于网络实际应用的,不会再大量讲述原理知识. 一.SMTP协议         SMTP协议是TCP/IP协议家族定义的机器间交换邮件的标准,它主要负责底层邮件系统怎样将一个报文从一台机器

java 基础(二)

java 基础(二)java 基础(二) 2016-2-1 by Damon 61. 编写多线程程序有几种实现方式 Java 5以前实现多线程有两种实现方法:一种是继承Thread类:另一种是实现Runnable接口.两种方式都要通过重写run()方法来定义线程的行为,推荐使用后者,因为Java中的继承是单继承,一个类有一个父类,如果继承了Thread类就无法再继承其他类了,显然使用Runnable接口更为灵活. 补充:Java 5以后创建线程还有第三种方式:实现Callable接口,该接口中的