php发邮件

php发邮件,第1张

php的默认发送邮件的功能并不是很好,推荐你使用phpmailer,学起来并不复杂。
但一般在本地环境可能不好用,你需要上传到你的空间才可以使用。
具体的使用方法你可以参考:>1、用的腾讯云服务器,折腾了很多资料,发现改错了。谨记检查端口25开放
2、TP框架用PHPMailer 发送邮件,windows本地测试正常,上传到腾讯云linux服务器就发送不成功:
细节如下: [root@VM_82_192_centos ~]# tail -40 /var/log/maillog

把classphpmailerphp中的$this->mailer = smtp;中的smtp换成大写:SMTP。说是因为qq 163等邮箱需要接受发送过来的大写的SMTP;
发现还是不成功
反过头来检查25端口:

发现没反应:yum重装sendmail,还是同样。直接杀到云服务器哪儿,检查25端口是否开放;泪流满面:赶紧解封。

确认:

OK,测试发送 mail -s '33333333555ksTest mail' 2848278204@qqcom < /etc/passwd

一、开启SMTP服务(使用php发送邮件需要用到SMTP服务,这里以163邮箱的SMTP服务为例)
1登录163邮箱,在首页上找到“设置”。
2选择开启的服务,一般都全选,POP3/SMTP/IMAP,开启SMTP服务就得先开通客户授权码。
3点击开通客户授权码,选择开启
4需要手机验证码,需要绑定手机号。
5SMTP服务需要输入客户端授权密码,这个密码就是是你在第三方客户端上的邮箱登录密码(在后面使用phpmailer发送邮件时会用到),如果在第三方客户端上输入之前的邮箱登录密码就会出错。
6设置完客户端授权密码后就成功开通了SMTP服务
二、首先下载phpmailer压缩包
在thinkphp5的项目中的extend目录下新建一个mailer文件夹,然后把phpmailerphp 和smtpphp文件复制到目录下
phpmailerphp 中在顶部修改命名空间为
namespace mailer;
添加
use think\Exception;
smtpphp中修改命名空间为
namespace mailer;

你可以再 Windows 2003 上 telnet SMTP host 25 值是否通
163的SMTP 应该是 smtp163com 具体看你定义的值了。
telnet smtp163com 25

加入phpmailer的语言文件存放路径
$mail->SetLanguage("en", ABSPATH EXINC "/3party/phpmailer/language/"); 试试看!!

现以中文版Outlook Express 40 为例进行设置:(一次设置长期可用) 1单击窗口中的“工具/帐号”选项打开窗口; 2在窗口中点击“邮件”标签; 3单击“添加”按钮,选择“邮件”选项; 4在输入姓名窗口中,输入您的用户名,单击“下一步”按钮; 5输入您在中国工商报网邮件中申请的电子邮件地址,如:yourname@cicncomcn; 6在“电子邮件服务器名”窗口中设置邮件服务器; 7选择接收邮件服务器为“POP3”; 8在接收服务器下输入中国工商报网邮件的POP3服务器名称:211100831 9在发送邮件的服务器中,您可以输入本地的发件服务器,也可以输入中国工商报网邮件的发件服务器名称:211100831 设置完成后, 单击“下一步”按钮; 10在登录窗口选择登录方式,输入POP帐号名,如邮箱是yourname@cicncomcn,帐号名(用户名)是yourname; 11输入密码,密码一般为星号显示。如果您没有输入密码,系统会在接收邮件时会提示输入密码。单击“下一步”按钮; 12输入Internet Mail帐号名(用户名),您可以采用系统默认名称,也可以修改; 13单击“完成”按钮完成添加。 您可以单击窗口中的“发送接收”进行收发邮件。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13512791.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-22
下一篇 2023-08-22

发表评论

登录后才能评论

评论列表(0条)

保存