为树莓派服务器设置Gmail SMTP发送邮件
如果希望你的树莓派服务器能够发送邮件, 我们需要一些设置。发送邮件对wordpress特别重要, 例如当有人评论时, wp会发邮件通知。 更为重要的是, 新注册用户的密码是通过邮件发送的。wordpress的邮件依赖于系统的mail函数, 当没有邮件客户端时, 在发送邮件时会提示可能原因:您的主机禁用了 mail() 函数。
树莓派的raspbian系统是基于debian的, 从而邮件服务器也是有很多选择, 例如重量级的postfix,senmail等,轻量级的ssmtp,msmtp等。 这里我将介绍如何用msmtp通过gmail代理发送邮件。
- 安装msmtp以及必要的依赖包:
sudo apt-get install openssl ca-certificates msmtp
- 配置msmtp12:
sudo vim /etc/msmtprc
123456789101112defaultstls ontls_starttls ontls_trust_file /etc/ssl/certs/ca-certificates.crtaccount defaulthost smtp.gmail.comport 587auth onuser yourgmail@gmail.compassword your_password_yourgmailfrom noreplay@yoursite.comlogfile /var/log/msmtp.log
这里需要自己填写user
.password
,from
(邮件显示的发件人) - 由于这个文件包含有明文密码, 我们需要修改其权限:
sudo chmod 0644 /etc/msmtprc
- 至此, 你可以测试是否配置成功:
echo -e "Subject: Test MailrnrnThis is a test mail" |msmtp --debug --from=default -t [email protected]
当然这里username要换成你自己的gmail用户名, 随便写是发生不成功的。 - 我们还需要配置php.ini使得php能够用msmtp发生邮件:
sudo vim /etc/php5/fpm/php.ini
这个php.ini 的路径可以通过sudo find / -name php.ini
来获得。 修改php.ini
的sendmail_path
(在956行)为sendmail_path = '/usr/bin/msmtp -t'
, 这里msmtp的path可以通过which msmtp
获得。 - 重启
php5-fpm
:sudo service php5-fpm restart
使配置生效 - 测试php的mail函数是否工作, 在网站根目录下新建
mail.php
, 内容为3:
1234567< ?phpecho 'Mail sent';}else{echo 'Error. Please check error log.';}?>
同样请填写正确的用户名。然后保存, 并用浏览器访问http://yoursiteurl/mail.php
如果看到Mail sent则表示发送成功。
至此, 你应该已经设置好邮件服务器了。 是不是很简单?
参考文献
本作品采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本站内容必须也遵循署名-非商业用途-保持一致的创作共用协议.
发表回复