如何搭建本地smtp服务器 - 电子发烧友网

您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网 > 电子百科 > 电脑硬件 > 服务器 >

如何搭建本地smtp服务器

2018年04月08日 14:46 网络整理 作者: 用户评论(0

  搭建本地smtp服务器教程

  (一)安装POP3和SMTP服务组件

  WindowsServer2003默认情况下是没有安装POP3和SMTP服务组件的,因此要手工添加。

  1.安装POP3服务组件

  以系统管理员身份登录WindowsServer2003系统。依次进入“控制面板→添加或删除程序→添加/删除Windows组件”,在弹出的“Windows组件向导”对话框中选中“电子邮件服务”选项,点击“详细信息”按钮,可以看到该选项包括两部分内容:POP3服务和POP3服务Web管理。为方便用户远程Web方式管理邮件服务器,建议选中“POP3服务Web管理”。

  2.安装SMTP服务组件

  选中“应用程序服务器”选项,点击“详细信息”按钮,接着在“Internet信息服务(IIS)”选项中查看详细信息,选中“SMTPService”选项,最后点击“确定”按钮。此外,如果用户需要对邮件服务器进行远程Web管理,一定要选中“万维网服务”中的“远程管理(HTML)”组件。完成以上设置后,点击“下一步”按钮,系统就开始安装配置POP3和SMTP服务了。

  (二)配置POP3服务器

  1.创建邮件域

  点击“开始→管理工具→POP3服务”,弹出POP3服务控制台窗口。选中左栏中的POP3服务后,点击右栏中的“新域”,弹出“添加域”对话框,接着在“域名”栏中输入邮件服务器的域名,也就是邮件地址“@”后面的部分,如“rtj.net”,最后点击“确定”按钮。其中“rtj.net”为在Internet上注册的域名,并且该域名在DNS服务器中设置了MX邮件交换记录,解析到WindowsServer2003邮件服务器IP地址上。

  2.创建用户邮箱

  选中刚才新建的“rtj.net”域,在右栏中点击“添加邮箱”,弹出添加邮箱对话框,在“邮箱名”栏中输入邮件用户名,然后设置用户密码,最后点击“确定”按钮,完成邮箱的创建。

  (三)配置SMTP服务器

  完成POP3服务器的配置后,就可开始配置SMTP服务器了。点击“开始→程序→管理工具→Internet信息服务(IIS)管理器”,在“IIS管理器”窗口中右键点击“默认SMTP虚拟服务器”选项,在弹出的菜单中选中“属性”,进入“默认SMTP虚拟服务器”窗口,切换到“常规”标签页,在“IP地址”下拉列表框中选中邮件服务器的IP地址即可。点击“确定”按钮,这样一个简单的邮件服务器就架设完成了。

  完成以上设置后,用户就可以使用邮件客户端软件连接邮件服务器进行邮件收发工作了。在设置邮件客户端软件的SMTP和POP3服务器地址时,输入邮件服务器的域名“rtj.net”即可。

  基于CentOS搭建SMTP服务器

  1、环境

  [root@iZ11uh778whZMaildir]#uname–a

如何搭建本地smtp服务器

  [root@iZ11uh778whZMaildir]#cat/etc/issue

如何搭建本地smtp服务器

  2、安装posfix

  查看posfix的版本

  [root@iZ11uh778whZMaildir]#postconfmail_version

  一般是默认就安装了posfix的,如果没有暗转的话,是用yum-yinstallpostfix安装

  [root@iZ11uh778whZMaildir]#yum-yinstallpostfix

如何搭建本地smtp服务器

  3、更改默认邮件传输代理(MTA)

  查看默认的mta

  [root@iZ11uh778whZMaildir]#alternaTIves--displaymta

如何搭建本地smtp服务器

  我们可以看到默认的mta就是postfix,也许是sendmail,如果不是postfix,则修改为postfix

  [root@iZ11uh778whZMaildir]# alternaTIves --config mta

  There is1 program that provides ‘mta’。

  SelecTIon Command

  -----------------------------------------------

  *+1 /usr/sbin/sendmail.postfix

  Enter to keepthe current selecTIon[+], or type selection number: 1

如何搭建本地smtp服务器

  4、配置postfix

  Postfix的配置文件主要有:/etc/postfix/main.cf和/etc/postfix/master.cf

  我们主要修改/etc/postfix/main.cf

  [root@iZ11uh778whZ postfix]# vim /etc/postfix/main.cf

  将#myhostname =virtual.domain.tld前面的‘#’去掉,改为

  myhostname = localhost //系统的主机名称

  将#mydomain = domain.tld前面的‘#’去掉,改为

  mydomain = 51cs8.com //email的地址,为可用的域名

  将#myorigin = $mydomain前面的‘#’去掉,改为

  myorigin = $mydomain //指定本地发送邮件中来源和传递显示的域名

  将#inet_interfaces =localhost前的‘#’去掉,改为

  inet_interfaces = all //设置网络接口以便Postfix能接收到邮件

  将#mydestination =$myhostname, localhost.$mydomain, localhost前面的‘#’去掉,改为

  mydestination = $myhostname, localhost.$mydomain, localhost,$mydomain //指定哪些邮件地址允许在本地发送邮件

  将#local_recipient_maps = 前面的‘#’去掉,改为

  local_recipient_maps =

  将#mynetworks =168.100.189.0/28, 127.0.0.0/8前面的‘#’去掉,改为

  mynetworks = 10.47.200.0/21, 127.0.0.0/8 //根据自己内网的实际情况写,指定受信任SMTP的列表,具体的说,受信任的SMTP客户端允许通过Postfix传递邮件

  将#home_mailbox = Maildir前面的‘#’去掉,改为

  home_mailbox = Maildir/ //设置邮箱路径与用户目录有关,也可以指定要使用的邮箱风格。

  将#smtpd_banner = $myhostnameESMTP $mail_name ($mail_version)前面的‘#’去掉,改为

  smtpd_banner = $myhostname ESMTP unknow //不显示SMTP服务器的相关信息

  在配置文件的最后追加如下内容:

  #smtpd

  smtpd_sasl_auth_enable = yes //使用smtp认证

  broken_sasl_auth_clients = yes //让不支持RFC2554的smtpclient也可以跟postfix做交互。

  smtpd_sasl_local_domain = $myhostname //指定SMTP认证的本地域名

  smtpd_sasl_security_options = noanonymous //取消匿名登陆方式

  smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated, reject_unauth_destination //设定邮件中有关收件人部分的限制

  5、安装cyrus-sasl、cyrus-imapd相关包

  [root@localhost ~]#yum -y install cyrus*

如何搭建本地smtp服务器

  因为我之前安装过,所提提示已经安装。

  6、配置cyrus-sasl

  Cyrus-sasl的配置文件路径:/etc/sasl2/smtpd.conf

  [root@iZ11uh778whZ postfix]# vim /etc/sasl2/smtpd.conf

  在文件尾部追加

  log_level: 3 //记录log的模式

  saslauthd_path:/var/run/saslauthd/mux //设置一下smtp寻找cyrus-sasl的路径

  下面是我/etc/sasl2/smtpd.conf的内容:

  pwcheck_method: saslauthd

  mech_list: plain login

  log_level: 3

  saslauthd_path: /var/run/saslauthd/mux

  7、启动postfix、cyrus-sasl、cyrus-imapd

  [root@iZ11uh778whZ postfix]# /etc/init.d/postfix restart

  Shutting down postfix: [ OK ]

  Starting postfix: [ OK ]

  [root@iZ11uh778whZ postfix]# /etc/init.d/saslauthd restart

  Stopping saslauthd: [ OK ]

  Starting saslauthd: [ OK ]

  [root@iZ11uh778whZ postfix]# /etc/init.d/cyrus-imapd restart

  Shutting down cyrus-imapd: [ OK ]

  Exporting cyrus-imapd databases: [ OK ]

  Importing cyrus-imapd databases: [ OK ]

  Starting cyrus-imapd: [ OK ]

  查看smtp启动情况:

  [root@iZ11uh778whZ postfix]# netstat -tpnl | grep 25

  tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 1714/master

  查看imap启动情况:

  [root@iZ11uh778whZ postfix]# netstat -tpnl | grep cyrus

  tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 2687/cyrus-master

  tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 2687/cyrus-master

  tcp 0 0 0.0.0.0:4190 0.0.0.0:* LISTEN 2687/cyrus-master

  tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 2687/cyrus-master

  tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 2687/cyrus-master

  8、设置postfix、cyrus-sasl、cyrus-imapd开机自启动

  [root@iZ11uh778whZ postfix]# chkconfig postfix on

  [root@iZ11uh778whZ postfix]# chkconfigpostfix --list

  postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off

  [root@iZ11uh778whZ postfix]# chkconfig saslauthd on

  [root@iZ11uh778whZ postfix]# chkconfigsaslauthd --list

  saslauthd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

  [root@iZ11uh778whZ postfix]# chkconfig cyrus-imapd on

  [root@iZ11uh778whZ postfix]# chkconfig cyrus-imapd--list

  cyrus-imapd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

  9、测试cyrus-sasl

  添加账号、密码 system | system

  [root@iZ11uh778whZ postfix]# useradd system

  [root@iZ11uh778whZ postfix]# passwd system

  Changing password for user system.

  New password:

  BAD PASSWORD: it is based on a dictionaryword

  BAD PASSWORD: is too simple

  Retype new password:

  passwd: all authentication tokens updatedsuccessfully.

  测试是否可用

  [root@iZ11uh778whZpostfix]# testsaslauthd -u system -p system

  0: OK “Success.”

  10、测试cyrus-imapd

  安装完cysus-imapd会自动产生一个管理账号cyrus,所属用户组是mail

  [root@iZ11uh778whZ tank]# id cyrus

  uid=76(cyrus) gid=12(mail)groups=12(mail),76(saslauth)

  将账户system的所在组切换到mail组

  [root@iZ11uh778whZ tank]# usermod -g 12 system

  [root@iZ11uh778whZ tank]# id system

  uid=502(system) gid=12(mail)groups=12(mail)

  添加测试账号:

  [root@iZ11uh778whZtank]# cyradm -u cyrus localhost --auth plain

非常好我支持^.^

(0) 0%

不好我反对

(0) 0%

( 发表人:姚远香 )

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!