English |
  • 美国VPS主机推荐
  • |
  • 代购服务
  • |
  • 10美元以下VPS
  • |
  • VPS新手指南/教程
  • |
  • 留言板
  • |
  • 关于
  • | 登录 |

    使用msmtp配合SMTP为Linux服务器搭建邮件发送服务

    2022年05月5日 上午 | 作者:VPS侦探

    对于网站有邮件发送服务有需求的用户来说,发送邮件一般有三种方式:自建邮件服务器、使用邮件提供服务商API方式和SMTP方式。自建邮件服务器需要占用比较多的内存且需要额外进行比较多的设置,不适合少量邮件的用户使用;API方式一般适合从程序开发开始就在程序中写好,一般小用户都使用开源程序;SMTP比较灵活可以使用邮件服务商或者个人邮箱的SMTP服务,对于每天发送量不多使用SMTP相对来说也比较方便。大部分程序如Wordpress、Discuz X等常见的程序一般后台都有SMTP的设置,设置好之后就可以通过SMTP发送邮件,但对于没有SMTP相关设置的程序来说就无法正常发出邮件,今天我们主要就针对这种情况下使用msmtp调用SMTP服务器发送邮件。

    1、msmtp简介

    msmtp是一款专门负责邮件发送的SMTP客户端软件,支持TLS/SSL/STARTTLS、多种认证方式、多用户等。类似的程序其实很多如古老的mailx、s-nail、ssmtp等,msmtp比较活跃比较好用一些。

    2、SMTP服务商的选择

    首推:阿里云的邮件推送,每天有200封免费的额度。
    其次:SendGrid、SendinBlue等等都有免费发信额度。
    再其次:Microsoft365或其他服务平台提供的SMTP服务。
    最后:个人邮箱的SMTP服务。

    在使用上建议使用TLS加密或STARTTLS加密,不建议使用未加密的25端口进行发送邮件,首先未加密可能会存在泄露其次很多VPS或云服务商都已经采取了默认封锁25端口的设置。

    3、msmtp安装

    CentOS/RHEL/Fedora/Alma/RockyDebian/Ubuntu/Deepin
    yum -y install epel-release
    yum -y install msmtp
    apt-get install -y msmtp

    4、msmtp配置

    配置文件位置:/etc/msmtprc  该文件不一定自动创建,下面以SSL/TLS加密为例:

    defaults
    tls on
    #如果不是SSL/TLS加密方式改成off
    tls_starttls off
    #如果是STARTTLS加密改成on
    tls_certcheck off
    logfile /var/log/msmtp.log
    account aliyun
    #account后面为自定义的名字,随便都可以,只要与最后面的account default:后面的一样就可以
    host smtpdm.aliyun.com
    #host后为SMTP服务器地址
    port 465
    #端口TLS加密的一般为465,根据实际情况而定,不建议使用未加密的25端口,很多服务商会屏蔽该端口
    auth plain
    user xxx@vpser.net
    from xxx@vpser.net
    password 密码
    account default : aliyun

    上面 xxx@vpser.net 为用户名一般为邮箱地址,密码一般为邮箱的登录密码,QQ、Gmail等一些SMTP为单独的授权码或密码之类的。

    保存完配置文件就可以进行测试,看一下邮件能否正常发送。

    执行:

    echo "来自msmtp发出的测试邮件" | msmtp 自己的邮箱

    邮箱地址用于测试看是否能正常收到邮件。

    5、PHP邮件发送配置

    LNMP为例,php配置文件位置:/usr/local/php/etc/php.ini 编辑该文件,查找 sendmail_path
    更改为:sendmail_path = /usr/bin/msmtp -t
    如果前面有 ; 将该分号去掉,保存。
    重启php-fpm或Apache生效。
    PHP上的测试就简单多了,可以直接在LNMP的p.php 探针页最下面"邮件发送检测"选项下面填写邮箱即可。

    6、可能会遇到的问题

    6.1、Ubuntu/Debian下可能会无法记录日志,解决方法:

    apt install -y apparmor-utils
    aa-disable /etc/apparmor.d/usr.bin.msmtp

    6.2、如在安装使用过程中有问题可以在本文下方或者论坛留言。

    >>转载请注明出处:VPS侦探 本文链接地址:https://www.vpser.net/build/msmtp-smtp-mail-server.html
    VPS侦探推荐:
    遨游主机VultrLinode搬瓦工LOCVPSKVMLAVPS2EZHostXen80VPS美国VPS主机,国内推荐腾讯云阿里云
    欢迎加入VPS侦探论坛交流:https://bbs.vpser.net

    发表评论

    *必填

    *必填 (不会被公开)