前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用msmtp进行邮件通知

使用msmtp进行邮件通知

作者头像
空空裤兜
发布2023-03-03 18:50:00
9240
发布2023-03-03 18:50:00
举报
文章被收录于专栏:空空裤兜空空裤兜

现在很多服务器都封禁了25端口,导致博客的邮件通知没法运行,借鉴vps侦探的文章,搭建了msmtp发送邮件。

1、msmtp简

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

2、SMTP服务商的选择

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

3、msmtp安装

CentOS下:

代码语言:javascript
复制
yum -y install epel-release
yum -y install msmtp

4、msmtp配置

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

代码语言:javascript
复制
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 smtp.gmail.com
#host后为SMTP服务器地址
port 465
#端口TLS加密的一般为465,根据实际情况而定,不建议使用未加密的25端口,很多服务商会屏蔽该端口
auth plain
user xxx@kudou.org
from xxx@kudou.org
password 密码
account default : aliyun

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

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

执行:

代码语言:javascript
复制
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、几个没踩平的坑

开始使用gmail的smtp,测试邮件、正常的邮件通知都可以,等了不到一小时后开始陆续收到Delivery Status Notification (Failure)的邮件,提示错误:DNS Error: DNS type ‘mx’ lookup of localhost responded with code NXDOMAIN Domain name not found。看起来是localhost没设置好,我设置了hosts和hostname,也卸载了mailx、postfix、sendmail,不知道其他还有哪里需要设置。更诡异的是失败邮件发了十几封后,后续的测试邮件和邮件通知也是正常的。

换成126邮箱的smtp,提示验证方式为plain,不能连接。Office365提示发送空邮件。

最后按照vps侦探的推荐,尝试了SendinBlue,测试邮件和邮件通知可以正常收到。

本文由 空空裤兜 发布在 空空裤兜,转载此文请保持文章完整性,并请附上文章来源(空空裤兜)及本页链接。

如果本文侵犯您和第三方权益,请联系我及时删除。

原文链接:https://cloud.tencent.com/developer/article/2232667

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-11-192,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、msmtp简
  • 2、SMTP服务商的选择
  • 3、msmtp安装
  • 4、msmtp配置
  • 5、PHP邮件发送配置
  • 6、几个没踩平的坑
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档