0

我在 PHPMailer 中遇到了一些奇怪的行为。我正在使用我的 gmail 帐户进行 SMTP 设置。但是每次 PHP 发送一封电子邮件(在这种情况下,它是用于重置密码),我也会收到相同的电子邮件。除非为我的 gmail 帐户请求密码重置。

这是代码;

//set email settings
            $mail       =   new PHPMailer;
            $mail->IsSMTP();                                      // Set mailer to use SMTP
            $mail->Host = 'ssl://smtp.gmail.com';  // Specify main and backup server
            $mail->SMTPAuth = true;                               // Enable SMTP authentication
            $mail->Port = 465;
            $mail->Username = 'mymail@gmail.com';                            // SMTP username
            $mail->Password = 'mypassword';                           // SMTP password

            $mail->From = 'noreply@bla.com';
            $mail->FromName = 'Bla';
            $mail->AddAddress($email);               // Name is optional
            $mail->IsHTML(true);                                  // Set email format to HTML

            $mail->Subject  = 'Bla registration';
            $mail->Body ="
            <html>
                <header><title>Welcome to Bla</title></header>
                <body>
                <p>Hello,</p>
                <p>Welcome to Bla. Thank you for registering an account. Before you can start inventing music, please activate your account</p>
                <p><a href='http://www.bla.com/register/activate.php?activation=$activationcode&email=$email'>  http://www.Bla.com/register/activate.php?activation=$activationcode&email=$email</a></p>
                See you soon on Bla!
                </body>
            </html>";
$mail->Send();

没有错误或类似的东西。电子邮件实际上是发送和接收的。唯一的问题是我也收到了,因为用户名中的电子邮件地址是我的电子邮件地址。有谁知道为什么会这样?

4

2 回答 2

1

像这样添加 ClearAddresses->

$mail->Send();
$mail->ClearAddresses();

并解决了。

格林斯

于 2013-10-10T01:13:26.210 回答
0

尝试改变

$mailer->isSMTP();

$mailer->Mailer = 'smtp'; 
于 2015-04-13T08:01:33.653 回答