如何将PHPmailer配置为sendmail和Gmail for localhost?

时间:2015-01-27 14:34:53

标签: php sendmail phpmailer

我一直在寻找答案超过一周。我坚持这个问题。我已下载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;
你能帮帮我们吗?我被困在这里。

2 个答案:

答案 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(特定于应用程序的密码),并在此处使用它,而不是您的真实密码。