ubuntu server 安装sendmail

  • 内容
  • 评论
  • 相关
  1. Ubuntu下使用最常用的mail功能,需要安装mailutils,安装命令:sudo apt-get install mailutils
  2. 使用带附件的功能,则还需要安装sharutils,安装命令:sudo apt-get install sharutils;
  3. 打开终端,输入命令:
    sudo apt-get install sendmail
    安装完
    ps aux |grep sendmail输出如下:
    root      2548  0.0  0.1  11520  2064 ?        Ss   15:51   0:00 sendmail: MTA: accepting connections
    root      2644  0.0  0.0   3976   504 pts/0    S+   16:08   0:00 grep --color=auto sendmail

    证明sendmail已经成功启动了

    sudo vi /etc/php5/apache2/php.ini
    找到 sendmail_path,修改为:
    sendmail_path = /usr/sbin/sendmail -i -t

    重启apache
    service apache2 restart

    测试

    常用发送邮件方式如下:

    1.如何写一般的邮件: mail flynewton@gmail 编辑抄送对象,邮件主题,邮件正文后,按Ctrl-D结束

    2.快速发送方式: echo “邮件正文” | mail -s 邮件主题 flynewton@gmail.com

    3.以文件内容作为邮件正文来发送: mail -s test flynewton@gmail.com < test.txt

    4.发送带附件的邮件: uuencode 附件名称 附件显示名称 | mail -s 邮件主题 发送地址

    例如: uuencode test.txt test.txt | mail -s Test flynewton@gmail.com

    解决sendmail启动和邮件发送慢,也话你会发现启动和发送邮件特别慢。

  4. 在大部分Linux发行版本中,sendmail这个古老的邮件系统包是默认安装的,装完系统后,重启时,不少兄弟遇到在启动过程中,到了启动sendmail服务的时候就停止了,没有耐性和经验的朋友这时候可能会以为系统出故障或者系统没有装好,其实既不是系统出故障,一般也不是系统没有安装好,而是系统sendmail的时候在查询你设置的主机名的A记录或反向域名记录,由于全球9台DNS根系统都在美国,这个时候会去查询本机主机名对应的dns A记录,特别时你安装系统时设置的一些“奇怪”的主机名的时候,比如rac1等等之类的,这个时候sendmail会去做这个操作过程。 Apr 28 13:41:36 rac1 sendmail[3494]: gethostby*.getanswer: asked for "rac1 IN AAAA", got type "A"

    Apr 28 13:42:36 rac1sendmail[3499]: gethostby*.getanswer: asked for "rac1 IN AAAA", got type "A"

    Apr 28 13:43:37 rac1 sendmail: sendmail startup succeeded

    Apr 28 13:43:37 rac1 sm-msp-queue[3509]: gethostby*.getanswer: asked for "rac1 IN AAAA", got type "A"
    Apr 28 13:41:36 rac1 sendmail[3494]: gethostby*.getanswer: asked for "rac1 IN AAAA", got type "A"

    Apr 28 13:42:36 rac1sendmail[3499]: gethostby*.getanswer: asked for "rac1 IN AAAA", got type "A"

    Apr 28 13:43:37 rac1 sendmail: sendmail startup succeeded

    Apr 28 13:43:37 rac1 sm-msp-queue[3509]: gethostby*.getanswer: asked for "rac1 IN AAAA", got type "A"


    运气好,我的意思是你的“RP”好,呵呵,查询比较快,你感觉不到异样,“RP”不好,少则一到两分钟,
    多则四到五分钟,而且要命的是不报任何错误信息,这个时间大大超过了我们能忍受的“8s”时间了,
    心里承受力差的兄弟就要受煎熬了。

    知道了问题的症结,就可以对症下药了,比如我们可以修改系统配置文件/etc/hosts

    让sendmial绕过查询远程主机,这里给出一种最简单的方法,给主机设置一个别名

    修改/etc/hosts ,未修改之前
    127.0.0.1 localhost.localdomain localhost
    修改成
    127.0.0.1 localhost.localdomain localhost 主机名称


    查看本机的主机名称的命令是: hostname
    再次重新启动sendmail看看

    [root@rac1 ~]# service sendmail restart
    Shutting down sm-client: [ OK ]
    Shutting down sendmail: [ OK ]
    Starting sendmail: [ OK ]
    Starting sm-client: [ OK ]
    [root@rac1 ~]# service sendmail restart
    Shutting down sm-client: [ OK ]
    Shutting down sendmail: [ OK ]
    Starting sendmail: [ OK ]
    Starting sm-client: [ OK ]
    [root@rac1 ~]#reboot
    启动时间已经到秒级了。

喜欢这篇文章吗,不妨分享给朋友们吧!

评论

0条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注