2016-04-06 21 views
1

gmail numaralı telefonu kullanarak posta göndermek içinnumaralı telefonu kullanarak posta göndermek için Yii phpmailer uzantısını kullanıyorum. BenYii phpmailer gmail için çalışmıyor

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(); 

eskiden Kodum ben bu link izledi.

Bu sorunu nasıl çözebilirim ve gmail kullanarak posta gönderebilir miyim? Bunun üzerine dökebileceğiniz herhangi bir ışık için teşekkür ederiz!

+0

Bu kod çalıştırıldığında ne olacağını (herhangi bir şey varsa) bilmek yardımcı olabilir mi? – M1ke

+0

İzlemeniz gereken bağlantı [bu bir] dir (https://github.com/PHPMailer/PHPMailer/wiki/Sorun Giderme). Neredeyse kesinlikle iyi bilinen bir gmail auth sorunu. – Synchro

cevap

1

deneyin aşağıdaki satırı ekleyerek: Yaptığın olarak ana alan için :port ekleyerek çalışır eğer emin oldum

$mail->Port = 465; 

- Ben onaylamak anlamına ben olduğu gibi Port alan elle yaptığı işi, ayarı Kodları beklediğiniz gibi çalışan çok büyük bir sistemdir.

Ayrıca $mail->Host = 'smtp.gmail.com' kullanıyoruz, ancak smtp.googlemail.com etki alanının da çalışması gerektiğinden neredeyse eminim.

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

Bu çalışması gerekir:

+0

çalışmıyor :( – Janie

+0

Host özelliği bunun gibi çalışır. Ayrıca SMTPSecure seçeneğini de ayarlayabilirsiniz, 'Host =' tls: //smtp.google.com: 587 '' – Synchro

+0

@Synchro netleştirmek için teşekkürler Bu durumda SMTPDebug'dan hangi çıktının daha iyi bir fikre sahip olduğunu bilmemiz gerekiyor: – M1ke

0

Yalnızca

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

bu mesajı gösteriyor: SMTP -> FROM SUNUCUSU: 220 smtp.googlemail.com ESMTP 22sm3212537pfh.48 - gsmtp – Janie

+0

Erişimi zorlamanız gerekiyor daha az güvenli uygulamalar için daha az güvenli uygulama ayarı veya google posta uygulamalarından e-posta yapılandırdıysanız, yönetici -> güvenlik -> temel ayarlara gidin ve yukarıdakileri yapın: https://www.google.com/settings/security/lesssecureapps –

+0

Bunu zaten yapıyorum – Janie

0

aşağıdaki özelliklerini ayarlamak için emin olun hata ayıklama ve 2 mesaj için 1 hata ve mesajın için hata raporunu

alabilirsiniz bu özellikler ayarlanmış.

Yardım edin.