为树莓派服务器设置Gmail SMTP发送邮件

如果希望你的树莓派服务器能够发送邮件, 我们需要一些设置。发送邮件对wordpress特别重要, 例如当有人评论时, wp会发邮件通知。 更为重要的是, 新注册用户的密码是通过邮件发送的。wordpress的邮件依赖于系统的mail函数, 当没有邮件客户端时, 在发送邮件时会提示可能原因:您的主机禁用了 mail() 函数

树莓派的raspbian系统是基于debian的, 从而邮件服务器也是有很多选择, 例如重量级的postfix,senmail等,轻量级的ssmtp,msmtp等。 这里我将介绍如何用msmtp通过gmail代理发送邮件。

  1. 安装msmtp以及必要的依赖包:sudo apt-get install openssl ca-certificates msmtp
  2. 配置msmtp12: sudo vim /etc/msmtprc

    这里需要自己填写user.password,from(邮件显示的发件人)
  3. 由于这个文件包含有明文密码, 我们需要修改其权限:sudo chmod 0644 /etc/msmtprc
  4. 至此, 你可以测试是否配置成功:echo -e "Subject: Test MailrnrnThis is a test mail" |msmtp --debug --from=default -t [email protected] 当然这里username要换成你自己的gmail用户名, 随便写是发生不成功的。
  5. 我们还需要配置php.ini使得php能够用msmtp发生邮件:sudo vim /etc/php5/fpm/php.ini 这个php.ini 的路径可以通过sudo find / -name php.ini来获得。 修改php.inisendmail_path(在956行)为sendmail_path = '/usr/bin/msmtp -t', 这里msmtp的path可以通过which msmtp获得。
  6. 重启php5-fpm: sudo service php5-fpm restart使配置生效
  7. 测试php的mail函数是否工作, 在网站根目录下新建mail.php, 内容为3

    同样请填写正确的用户名。然后保存, 并用浏览器访问http://yoursiteurl/mail.php如果看到Mail sent则表示发送成功。
    至此, 你应该已经设置好邮件服务器了。 是不是很简单?

参考文献

发表评论