[英]Pear (SMTP) Mail.php won't send, No errors
我正在尝试使用PEAR的Mail.php通过cPanel邮件服务器(在托管服务器上运行)通过SMTP发送电子邮件
该脚本与邮件服务器在同一服务器上。
我没有收到任何错误,但是我也没有收到任何邮件,而且我也不知道为什么:/
我的代码:
Email.php
<?php
ini_set("include_path", '/home/gamerfin/php:');
require_once "Mail.php";
class Email{
function mailClient(){
return Mail::factory('smtp', array(
'host' => 'ssl://mail.gamerfinder.net',
'port' => '465',
'auth' => true,
'debug' => true,
'username' => 'messenger@gamerfinder.net', //your gmail account
'password' => '*********' // your password
));
}
function send(){}
function newMessageMail($sender, $email, $message){
echo $email;
$smtp = self::mailClient();
$from = 'messenger@gamerfinder.net'; //change this to your email address
$to = $email; // change to address
$subject = 'New Message from '.$sender; // subject of mail
$body = "You have recieved a new message from ".$sender."<br>Message:<br>".$message; //content of mail
$headers = array(
'From' => $from,
'To' => $email,
'Subject' => $subject
);
$mail = $smtp->send($to, $headers, $body);
var_dump ($mail);
}
}
?>
谁能看到我可能出了问题的地方?
我看过其他问题并尝试了一些答案,但是没有运气:/
谢谢
编辑
这是邮件调试日志:
DEBUG: Recv: 220-cloud536.unlimitedwebhosting.co.uk ESMTP Exim 4.89 #1 Fri, 25 Aug 2017 23:52:55 +0100
DEBUG: Recv: 220-We do not authorize the use of this system to transport unsolicited,
DEBUG: Recv: 220 and/or bulk e-mail.
DEBUG: Send: EHLO localhost
DEBUG: Recv: 250-cloud536.unlimitedwebhosting.co.uk Hello localhost [149.255.60.167]
DEBUG: Recv: 250-SIZE 52428800
DEBUG: Recv: 250-8BITMIME
DEBUG: Recv: 250-PIPELINING
DEBUG: Recv: 250-AUTH PLAIN LOGIN
DEBUG: Recv: 250 HELP
DEBUG: Send: AUTH LOGIN
DEBUG: Recv: 334 VXNlcm5hbWU6
DEBUG: Send: bWVzc2VuZ2VyQGdhbWVyZmluZGVyLm5ldA==
DEBUG: Recv: 334 UGFzc3dvcmQ6
DEBUG: Send: ***************
DEBUG: Recv: 235 Authentication succeeded
DEBUG: Send: MAIL FROM:
<messenger@gamerfinder.net>
DEBUG: Recv: 250 OK
DEBUG: Send: RCPT TO:
<jamiemac262@gmail.com>
DEBUG: Recv: 250 Accepted
DEBUG: Send: DATA
DEBUG: Recv: 354 Enter message, ending with "." on a line by itself
DEBUG: Send: From: messenger@gamerfinder.net
To: ***********@gmail.com
Subject: New Message from jamiemac262
DEBUG: Send: You have recieved a new message from jamiemac262<br>
Message:<br>
jamiemac262 has accepted your request to play Elite Dangerous
DEBUG: Send:
.
DEBUG: Recv: 250 OK id=1dlNTD-0006DI-TS
DEBUG: Send: QUIT
DEBUG: Recv: 221 cloud536.unlimitedwebhosting.co.uk closing connection
我设法解决了这个问题。
问题是我生成的垃圾邮件得分为2.0,并且我的主机阻止了垃圾邮件得分为2或更高的任何内容。
我的主机很友好,可以向我发送邮件网关日志,该日志告诉我造成垃圾邮件评分的原因。
我可以通过在from
标头中添加名称并添加date
标头来解决此问题
'From' => '"Gamer Finder" <messenger@gamerfinder.net>',
'To' => 'email@gmail.com',
'Subject' => $subject,
'Date' => date("r")
因此,对于有类似问题的任何人,请进行一些研究,找出可以触发垃圾邮件规则的内容,并确保您不会触发它们:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.