对于个人站点的“留言”、“评论”功能,除了把用户的发言保存到MySQL数据库中以外,管理员往往还希望在用户留言的同时发送一封邮件到指定邮箱,方便查看。
这个功能用PHP+MySQL实现很简单,PHP语言有一个mail()方法,只需配置好SMTP服务器、发件人的邮箱密码、收件人的邮箱,就可以自动发送邮件。
但是,mail()方法过于简洁,需要用户作很多其他配置,比如在php.ini里设置stmp服务器地址、端口等信息,同时使用也不太方便,比如没法便捷地使用抄送、添加附件等功能。
于是有了PHPMailer,简化了发送邮件的配置。
使用PHPMailer发送邮件的代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
以上代码在本地服务器测试一切正常,但是上传到Godaddy空间后,发送邮件时会提示失败,因为Godaddy限制了用户利用第三方的SMTP服务器发送邮件。
解决方法有两个:
- 使用Godaddy提供的免费邮箱转发
- 使用Godaddy提供的公共SMTP转发
方法1,使用Godaddy提供的邮箱账号
购买了Godaddy的空间之后,会给用户提供企业Email,后缀名是自己的域名,免费账号可以有100个。我们需要在上面创建一个Email账号。比如:user@test.com, helloworld。见这里。
完成后,查看相应账号的Tools - Server Settings
,会列出该邮箱使用的smtp host和端口,host一般都是smtpout.secureserver.net
,端口则有:25, 80, 3535
。可以参考Godaddy的帮助。
有了上述信息之后,调整PHPMailer配置如下:
1 2 3 4 5 |
|
这时候再发送,就不会提示SMTP -> ERROR: Failed to connect to server: Connection refused (111)
之类的错误了。
方法2,使用Godaddy提供的公共SMTP服务器
这里提到了另一种免邮箱账号密码发送邮件的方法,就是利用Godaddy提供的公共SMTP服务器。
代码如下:
1 2 3 4 5 |
|
(完)
原文作者: lslin
原文链接: http://blog.lessfun.com/blog/2014/07/16/setting-phpmailer-to-send-email-in-godaddy/
版权声明:自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 3.0