1

我一直在尝试通过具有非 gmail 域的 gmail 帐户发送 PHP 电子邮件,但电子邮件地址已在 gmail.com 注册。电子邮件不会通过此帐户发送,但是当我提供具有@gmail.com 的帐户时,电子邮件会被传输,但不会发送到非 gmail 电子邮件地址。我一直在使用的代码是 php mailer 代码。

function smtpmailer($to, $from, $from_name, $subject, $body) {   
    global $error;  
    $mail = new PHPMailer();  // create a new object  
    $mail->IsSMTP(); // enable SMTP
    $mail->SMTPDebug = 0;  // debugging: 1 = errors and messages, 2 = messages only  
    $mail->SMTPAuth = true;  // authentication enabled
    $mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for Gmail  
    $mail->Host = 'smtp.gmail.com';
    $mail->IsHTML(true);
    $mail->Port = 465;   
    $mail->Username = GUSER;    
    $mail->Password = GPWD;             
    $mail->SetFrom($from, $from_name);  
    $mail->Subject = $subject;  
    $mail->Body = $body;  
    $mail->AddAddress($to);
    if(!$mail->Send()) {  
        $error = 'Mail error: '.$mail->ErrorInfo;
        return false;  
    } else {  
        $error = 'Message sent!';  
        return true;  
    }

有人可以建议我做错了什么。

4

2 回答 2

0

您应该在您的 gmail 帐户中注册发送邮件的应用程序:

  1. 在 gmail 帐户的浏览器中启动会话。
  2. 在打开会话的同一浏览器中,转到https://accounts.google.com/b/0/DisplayUnlockCaptcha
  3. 在您要启用的所需服务器中发送执行您的 php 的邮件。
于 2013-05-12T19:07:17.467 回答
0

尝试使用主机:

$host = "ssl://smtp.gmail.com";
于 2013-04-24T07:07:45.023 回答