linux - SMTP服务器拒绝PHP函数发送邮件的问题?
程序员文章站
2022-04-22 22:35:39
...
SMTP server error: 5.7.1 : Relay access denied
登陆服务器用mail -s "test" *****@qq.com 测试过smtp服务器是可以发送邮件的。为什么用PHP写的函数就被拒绝了呢?这段函数以前是起作用的,而且丝毫没动过。
public function SendMail($address,$title,$message) {
vendor('PHPMailer.class#phpmailer');
$mail=new PHPMailer();
// 设置PHPMailer使用SMTP服务器发送Email
$mail->IsSMTP();
// set HTML
$mail->ishtml(true);
// 设置邮件的字符编码,若不指定,则为'UTF-8'
$mail->CharSet='UTF-8';
// 添加收件人地址,可以多次使用来添加多个收件人
$mail->AddAddress($address);
// 设置邮件正文
$mail->Body=$message;
// 设置邮件头的From字段。
$mail->From=C('MAIL_ADDRESS');
//设置发件人名字
$mail->FromName=C('MAIL_SENDER');
// 设置邮件标题
$mail->Subject=$title;
// 设置SMTP服务器。
$mail->Host=C('MAIL_SMTP');
// 设置为“需要验证”
$mail->SMTPAuth=true;
// 设置用户名和密码。
$mail->Username=C('MAIL_LOGINNAME');
$mail->Password=C('MAIL_PASSWORD');
// 发送邮件。
$mail->Send();
return $mail;
}
回复内容:
SMTP server error: 5.7.1 : Relay access denied
登陆服务器用mail -s "test" *****@qq.com 测试过smtp服务器是可以发送邮件的。为什么用PHP写的函数就被拒绝了呢?这段函数以前是起作用的,而且丝毫没动过。
public function SendMail($address,$title,$message) {
vendor('PHPMailer.class#phpmailer');
$mail=new PHPMailer();
// 设置PHPMailer使用SMTP服务器发送Email
$mail->IsSMTP();
// set HTML
$mail->ishtml(true);
// 设置邮件的字符编码,若不指定,则为'UTF-8'
$mail->CharSet='UTF-8';
// 添加收件人地址,可以多次使用来添加多个收件人
$mail->AddAddress($address);
// 设置邮件正文
$mail->Body=$message;
// 设置邮件头的From字段。
$mail->From=C('MAIL_ADDRESS');
//设置发件人名字
$mail->FromName=C('MAIL_SENDER');
// 设置邮件标题
$mail->Subject=$title;
// 设置SMTP服务器。
$mail->Host=C('MAIL_SMTP');
// 设置为“需要验证”
$mail->SMTPAuth=true;
// 设置用户名和密码。
$mail->Username=C('MAIL_LOGINNAME');
$mail->Password=C('MAIL_PASSWORD');
// 发送邮件。
$mail->Send();
return $mail;
}
PHPMailer会使用那些经常被ISP方禁用的函数,如popen,你可以用phpinfo()查询一下disable_functions的值,看看是否关多了function。
问题解决了,感谢大家的回答。最后看error发现是因为重启sasl后会把/var/run/saslauthd变成710。所以需要chmod.
我是用thinkphp框架的 ,也起到了这种问题 可以帮忙解决一下吗
推荐阅读
-
Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题
-
PHP的一个完整SMTP类(解决邮件服务器需要验证时的问题)
-
PHP的一个完整SMTP类(解决邮件服务器需要验证时的问题)_php基础
-
PHPMailer使用Gmail来发送邮件的连接smtp服务器错误_PHP教程
-
Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题_php实例
-
Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题
-
php发送邮件问题(smtp的问题)
-
Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题,ubuntu发送邮件
-
fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法_php技巧
-
详细介绍Linux服务器下PHPMailer发送邮件失败的问题解决