zoukankan      html  css  js  c++  java
  • smtp服务器搭建(实现本地通讯)

    1安装postfix

    1)下载安装包
       sudo apt-get install postfix
    2)配置服务器
     
     
      
      
      
      
      
      
      
      
      
      
      
      
     
     
     
    
     
    
    选择确定。
     
    
    选择IneternetSite(通过SMTP发送和接收邮件),然后确定
     
    
    输入邮件后缀名,比如如果你想设置你的邮箱地址为root@example.com,则此处系统邮件名称填写为example.com

    3)安装syslog

    进入到/var/log/
            cd /var/log/
    查看是否安装syslog
           ls mail*
    如果有mail.err、mail.warn、mail.info、mail.log等文件,说明你的系统中已经安装上了syslog,无需再安装了。
    否则安装syslog:
    sudo apt-get install rsyslog
    另外,postfix也使用了第三方模块cyrus-sasl实现smtp的验证服务,需要的时候可以参考别的文档。

    2测试

    2.1  Mailutils方式

    1)下载mailutils

    sudo apt-get install mailutils

    2)发送邮件

    echo “邮件内容” | mail 收件人邮箱

    eg:echo “hello”|mail root@example.com

    3)查看发送结果

    进入到/var/mail目录下,用ls命令查看是否有新建的文件,比如root或其他登录用户名相同的文件夹。如果有,用vi等查看命令打开就可以看到刚才发送的邮件。

    如果没有,发送/usr/lib/sendmail –bp指令,若为

    Mail queue is empty

    说明邮件已经发送成功。否则,可以看到阻塞的邮件及原因。

    如果邮件发送成功但是没有接收到,请查看/etc/postfix/main.cf文件是否正确。

    2.2  Telnet方式

    1)连接到本地

    telnet localhost 25

    如果正常,您将会看到以下来自 IMC 的类似响应:

    220 xxx ESMTP Postfix

    2)键入以下命令开始进行通讯:

          HELO  : ***@***

    例如HELO :root@example.com。其中,HELO和冒号之间一定要有空格。您应看到如下类似响应:

    250 XXX

     

    键入以下命令来通知 IMC 邮件源于何处:

    MAIL FROM: ***@***

    例如MAIL FROM:root@example.com。您应得到如下类似响应:

    250 2.1.0 OK

     

    键入以下命令来通知 IMC 邮件的目标地址。

    RCPT TO: ***@***

    例如RCPT TO:root@example.com。您应看到如下类似响应:

    250 2.1.5 OK

     

    键入以下命令以通知 IMC 您已准备好发送数据:

    DATA

    您应看到如下类似响应:

    354 End data with <CR><LF>.<CR><LF>

     

    键入以下命令以添加主题行:

    Subject: test message

    然后按两次 Enter 键。该命令看不到任何响应。

     

    键入以下命令来添加邮件正文:

    This is a test message

    您将看不到来自该命令的响应。

    正文输入完毕回车换行,然后在空行处键入句号“.”,然后按 ENTER 键。您应看到如下类似响应:

    250 2.0.0 Ok: queued as E4618143EE8

     

    可以通过quit指令退出。没有问题的话,你可以在log终端中看到postfix发送邮件的log了。查看结果可以参照mailutils中的查看方法

    注:

    1、通过telnet,可测试邮件系统是否发送成功,在测试期间,通过

    tail -f /var/log/mail*

    监控邮件发送log,可明确知道发送的问题在哪。

    3 postfix配置说明

    postfix最重要的配置文件位于 /etc/postfix/main.cf ,在配置完成后,可通过

    sudo /etc/init.d/postfix reload

    重新加载配置文件生效。

    postfix几个比较重要的配置:

    • myorigin

    myorigin参数指明发件人所在的域名。如果你的用户的邮件地址为user@domain.com,则该参数指定@后面的域名。缺省 地,postfix使用本地主机名作为myorigin,但是建议你最好使用你的域名,因为这样更具有可读性。比如:安装postfix的主机为 mail.domain.com则我们可以这样指定myorigin:

    myorigin = domain.com

    当然我们也可以引用其他参数,如:

    myorigin = $mydomain
    • mydestination

    mydestination参数指定postfix接收邮件时收件人的域名,换句话说,也就是你的postfix系统要接收什么样的邮件。比如:你的用户的邮件地址为user@domain.com, 也就是你的域为
    domain.com, 则你就需要接收所有收件人为user_name@domain.com的邮件。与myorigin一样,缺省地,postfix使用本地主机名作为mydestination。如:

    mydestination = $mydomain
    mydestination = domain.com
    • notify_classes

    在postfix系统中,必须指定一个postfix系统管理员的别名指向一个用户,只有这样,在用户遇到问题时才有报告的对象,postfix也 才能将系统的问题报告给管理员。notify_classes参数就是用来指定向postfix管理员报告错误时的信息级别。共有以下几种级别:

    1. bounce:将不可以投递的邮件的拷贝发送给postfix管理员。出于个人隐私的缘故,该邮件的拷贝不包含信头。
    2. 2bounce:将两次不可投递的邮件拷贝发送给postfix管理员。
    3. delay:将邮件的投递延迟信息发送给管理员,仅仅包含信头。
    4. policy:将由于UCE规则限制而被拒绝的用户请求发送给postfix管理员,包含整个SMTP会话的内容。
    5. protocol:将协议的错误信息或用户企图执行不支持的命令的记录发送给postfix管理员。同样包含整个SMTP会话的内容。
    6. resource:将由于资源错误而不可投递的错误信息发送给postfix管理员,比如:队列文件写错误等等。
    7. software:将由于软件错误而导致不可投递的错误信息发送给postfix管理员。

    缺省值为:

    notify_classes = resource, software
    • myhostname

    myhostname 参数指定运行postfix邮件系统的主机的主机名。缺省地,该值被设定为本地机器名。你也可以指定该值,需要注意的是,要指定完整的主机名。如:

    myhostname = mail.domain.com
    • mydomain

    mydomain参数指定你的域名,缺省地,postfix将myhostname的第一部分删除而作为mydomain的值。你也可以自己指定该值,如:

    mydomain = domain.com
    • mynetworks

    mynetworks 参数指定你所在的网络的网络地址,postfix系统根据其值来区别用户是远程的还是本地的,如果是本地网络用户则允许其访问。你可以用标准的A、B、C类网络地址,也可以用CIDR(无类域间路由)地址来表示,如:

    192.168.1.0/24
    192.168.1.0/26
    • inet_interfaces

    inet_interfaces 参数指定postfix系统监听的网络接口。缺省地,postfix监听
    所有的网络接口。如果你的postfix运行在一个虚拟的ip地址上,则必须指定其监听的地址。如:

    inet_interfaces = all
    inet_interface = 192.168.1.1
    如果有一天我们淹没在茫茫人海中,庸碌一生,那一定是我们没有努力活得丰盛
  • 相关阅读:
    TCP源码—连接建立
    TCP系列02—连接管理—1、三次握手与四次挥手
    TCP系列01—概述及协议头格式
    ubuntu软件管理apt与dpkg
    318. Maximum Product of Word Lengths
    317. Shortest Distance from All Buildings
    316. Remove Duplicate Letters
    315. Count of Smaller Numbers After Self
    314. Binary Tree Vertical Order Traversal
    313. Super Ugly Number
  • 原文地址:https://www.cnblogs.com/xiachj/p/3792253.html
Copyright © 2011-2022 走看看