通过具有非gmail域的gmail帐户发送PHP电子邮件

时间:2013-04-24 06:45:41

标签: php phpmailer

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

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;  
    }

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

2 个答案:

答案 0 :(得分:0)

尝试使用主机:

$host = "ssl://smtp.gmail.com";

答案 1 :(得分:0)

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

  1. 使用Gmail帐户在浏览器中启动会话。
  2. 在会话打开的同一浏览器中,转到https://accounts.google.com/b/0/DisplayUnlockCaptcha
  3. 在您要启用的所需服务器中发送执行您的php的邮件。