2016-04-06 21 views
1

私はgmailを使用してメールを送信するのにYii phpmailer拡張を使用していますが、メールを送信する代わりにSMTP Error: Could not authenticate.を表示しています。私の使用したコードGmailのために働いていないYii phpmailer

Yii::import('application.extensions.phpmailer.JPhpMailer'); 
    $mail = new JPhpMailer; 
    $mail->IsSMTP(); 
    //$mail->Host = 'smpt.163.com'; 
    $mail->Host = 'smtp.googlemail.com:465'; 
    //$mail->Host = 'smtp.gmail.com:587'; 
    $mail->SMTPAuth = true; 
    $mail->SMTPSecure = "ssl"; 
    $mail->Username = $email; 
    $mail->Password = $pass; 
    $mail->SetFrom($email, SiteConfig::SITE_TITLE); 
    $mail->Subject = 'PHPMailer Test Subject via smtp, basic with authentication'; 
    $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; 
    $mail->MsgHTML('<h1>JUST A TEST!</h1>'); 
    $mail->AddAddress($email, 'My Name'); 
    $mail->Send(); 

私はこれに続いてlinkです。

この問題を解決してGmailを使用してメールを送信するにはどうすればよいですか?私はあなたがこれに流すことができる光に感謝します!次の行を追加し

+0

そのコードの実行時に何が起こったのかを知るのに役立つでしょうか? – M1ke

+0

リンク先は[this one](https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting)です。ほぼ確実によく知られているgmailの認証問題です。 – Synchro

答えて

1

試してみてください。

$mail->Port = 465; 

をホストフィールドの:port作品を追加する場合は、やったとして、私はわからないよ - 私が持っているように私は、手動でPortフィールドを設定する作業をしていることを確認することができます大規模なシステムのコードはあなたのものとよく似ていて、期待どおりに動作しています。

$mail->Host = 'smtp.gmail.com'も使用していますが、smtp.googlemail.comドメインも機能するはずです。

$mail->Host = "smtp.gmail.com"; 
$mail->Port = 587; 
$mail->SMTPSecure = "tls"; 
$mail->SMTPAuth = true; 
$mail->Username = "your username"; 
$mail->Password = "your password"; 

それが動作するはずです:

+0

その動作しない:( – Janie

+0

ホストプロパティはそのように動作します。また、 'Host = 'tls://smtp.google.com:587'のようにSMTPSecureオプションを設定することもできます。 – Synchro

+0

@シンクロその場合は、彼がSMTPDebugからどのような出力を得るのかを知る必要があります。 – M1ke

0

あなただけ

$mail->SMTPDebug = 2; // debugging: 1 = errors and messages, 2 = messages only 
+0

このメッセージを表示する:SMTP - > FROM SERVER:220 smtp.googlemail.com ESMTP 22sm3212537pfh.48 - gsmtp – Janie

+0

あなたはアクセスを強制する必要がありますより安全でないアプリの設定、またはGoogle Mailアプリから電子メールを設定した場合は、管理 - >セキュリティ - >基本設定に移動し、上記の手順を実行します。https://www.google.com/settings/security/lesssecureapps –

+0

私はすでにそれをしています – Janie

0

次の属性を設定してくださいデバッグおよび2のメッセージを1つのエラーとメッセージ のためのエラー報告

を得ることができますそれらの属性を設定します。

希望します。

関連する問題