博客不能发送邮件通知

基础信息: wordpress,原EC2是amazon-Linux,现在ubuntu

我的博客搬过一次家,从位于法兰克福的亚马逊云搬到了日本的亚马逊。由于环境几乎是完全一样的,搬过来博客运转很正常我也就没想起来检查邮件通知这回事情。前几天我在后台更换主邮箱没有收到确认邮件,当时也没在意,今天有个人在帖子回复我消息,我在认真回答后很关心Ta能不能收到我的回复邮件通知。后来尝试发现我的php服务器即使测试发送成功,我的个人邮箱也并不能收到邮件,不是spam的原因,就是发送端还有问题。

查资料是我Linux缺少一些库,所以即使php配置没问题,但是系统后援跟不上。解决方法不复杂:

sudo apt install sendmail
sudo apt install sendmail-cf
sudo apt install mailutils
sudo apt install sharutils

其中mailutils是邮件的基础功能,sharutils是带附件功能。默认的配置只能给自身发送邮件,需要更改为允许给任何地址发送:

sudo vim  /etc/mail/sendmail.mc

找到Port=smtp, Addr=127.0.0.1′)dnl  改成 Port=smtp, Addr=0.0.0.0′)dnl , 保存。

下一步备份并生成新的配置文件:

sudo -i
cd /etc/mail
mv sendmail.cf sendmail.org
m4 sendmail.mc > sendmail.cf

然后重启服务:

sudo service sendmail restart
sudo service apache2 restart

有个简单的测试程序,在terminal中运行:

echo "test mail ok" | mail -s "test mail ok" 

还有测试php发送是否OK:新建一个php脚本,放在网站目录下,用浏览器打开:

<?php
    $txt = "Hello";
    $mail = '';  // 以下的邮箱地址改成你的
    mail($mail, "My E-mail", $txt); // 发送邮件
    echo 'E-mail was sent!';
?>

成功的话,也是对应邮箱会收到邮件。可以检查一下垃圾箱,以免被误判。

回到你的博客测试一下把~

 

Reference:

http://yunkus.com/linux-environment-wordpress-sendmail-bumpy-journey/

https://blog.csdn.net/chenyiyue/article/details/51883915

https://stackoverflow.com/questions/19559063/simple-php-mail-function-not-working-on-amazon-server-ec2

https://blog.csdn.net/cheng830306/article/details/7629229

https://blog.csdn.net/xin_yu_xin/article/details/45115723

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.