我一直在寻找答案超过一周。我坚持这个问题。我已下载sendmail文件夹并进行配置。是的它说真的消息发送但实际上它没有去邮件。所以我决定把PHPmailer放在一些网站上。我下载了PHPmailer并对其进行了配置。当我运行它时出现错误。致命错误:第1197行的C:\ wamp \ www \ Project \ PHPMailer \ class.phpmailer.php中找不到“SMTP”类。 我还阅读了一些解决方案,将代码粘贴到104 #connect到smtp服务器的行之前。但我的104行看起来像这样。 public $ CRLF =“\ r \ n”;
/**
* Debug output level.
* Options:
* * self::DEBUG_OFF (`0`) No debug output, default
* * self::DEBUG_CLIENT (`1`) Client commands
* * self::DEBUG_SERVER (`2`) Client commands and server responses
* * self::DEBUG_CONNECTION (`3`) As DEBUG_SERVER plus connection status
* * self::DEBUG_LOWLEVEL (`4`) Low-level data output, all messages
* @type integer
*/
public $do_debug = self::DEBUG_OFF;
你能帮帮我们吗?我被困在这里。
答案 0 :(得分:0)
你有自动加载器的最新PHPMailer吗?
请参阅https://github.com/PHPMailer/PHPMailer,因为邮件程序不再从PHPMailer类中调用SMTP类。当我更新为调用邮件程序直接产生此错误时,这是一个痛苦。
同时打开PHPMailers调试反馈并查看其内容。
答案 1 :(得分:0)
这是我在很多项目中使用的sendMail()方法。它使用PHPMailer。
function sendMail($toAddress, $subject, $body, $AttachmentFilePath) {
$mail = new PHPMailer();
$mail->IsSMTP ();
$mail->CharSet = 'UTF-8';
// nable SMTP debugging
// 0 = off (for production use)
// 1 = client messages
// 2 = client and server messages
$mail->SMTPDebug = 0; // To prevent any outpur
// Ask for HTML-friendly debug output
$mail->Debugoutput = 'html';
// Get the hostname of the mail server
$mail->Host = 'smtp.gmail.com';
// Get the SMTP port number - 587 for authenticated TLS, a.k.a. RFC4409 SMTP submission
$mail->Port = 587;
// Get the encryption system to use - ssl (deprecated) or tls
$mail->SMTPSecure = 'tls';
// Whether to use SMTP authentication
$mail->SMTPAuth = TRUE;
// Username to use for SMTP authentication - use full email address for gmail
$mail->Username = "your.email@gmail.com";
// Password to use for SMTP authentication. Specific to the Lead Qualifier Tool
$mail->Password = "YourPassWordHere";
// Set who the message is to be sent from
$mail->SetFrom ( 'your.email@gmail.com', 'Your Name' );
// To Address
$mail->AddAddress ( $toAddress, $toAddress );
$mail->Subject = $subject;
$mail->Body = $body;
$mail->AltBody = $body;
// Add attachment
if ($AttachmentFilePath != NULL)
$mail->AddAttachment ( $AttachmentFilePath );
if (! $mail->Send ()) {
echo "<br />Error while sending e-mail: " . $mail->ErrorInfo;
} else {
// echo "Message sent!";
}
}
希望它有所帮助! : - )
此外,由于您使用的是GMail,请确保您创建一个ASP(特定于应用程序的密码),并在此处使用它,而不是您的真实密码。