1

以前phpgmailerはメールを送信していましたが、スムーズに機能していました。今日、私は自分のプロジェクトをテストしましたが、現在は機能していません。

   <?php                  
    require_once('class.phpgmailer.php');
    $mail = new PHPGMailer();
    $mail->Username = 'username@gmail.com';
    $mail->Password = '********';
    $mail->From = 'username@gmail.com';
    $mail->FromName = "<blah>";
    $mail->Subject = 'something';
    $mail->AddAddress('xyz@gmail.com');


    $mail->Body =  "Hello Sir"."\n"."     
    Your Password is : ."."";
    $mail->Host = 'smtp.gmail.com'; 
    $mail->Port = 465;
    $mail->Send();

    if(!$mail->Send())
            {

       echo 'Message could not be sent.' ;
       echo 'Mailer Error: ' . $mail->ErrorInfo;

       exit;
            }
       echo 'Message has been sent';
4

3 に答える 3

1

PHPMailerをダウンロードして、次のコードを試すことをお勧めします。

    require("phpmailer/class.phpmailer.php");

    $mail = new PHPMailer();
    $mail->IsSMTP();
    $mail->SMTPAuth = true;
    $mail->Host     = "ssl://smtp.gmail.com";
    $mail->Port     = 465;
    $mail->Username = "from@gmail.com";
    $mail->Password = "****";
    $mail->FromName = "Sender name";
    $mail->Subject  = "test";
    $mail->Body     = "Test body";
    $mail->AddAddress('sender@mail.com');
    if(!$mail->Send()){
        echo "Mailer Error: " . $mail->ErrorInfo;
    }else{
        echo "Message has been sent";
    }
于 2012-09-16T14:12:49.627 に答える
0

@gooseは正しいです。最初$mail->Send()のものを削除し、ifステートメントに残します。アドレスがユーザー名の電子メールと同じ場合はFrom、Gmail アカウントから取得されるため、それも必要ありません。

それを試して、それが機能するかどうかを確認してください。

編集:次を追加してみてください。

    $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->Port = 465; 
    $mail->Username = 'email@gmail.com';  
    $mail->Password = 'password';     

それを試してみて、エラーがある場合は、詳細が表示されるはずです。

EDIT2: それがうまくいかない場合は、PHPGmailer の代わりに PHPMailer を試すことをお勧めします。 -with-phpmailer-and-gmail/

于 2012-09-16T13:56:00.457 に答える
0

確認してください:

  • $mail->Usernameは に等しく$mail->From、正しい
  • $mail->Password正しい
  • $mail->FromName「<」および「>」文字を含まない; ちょうど試して$mail->FromName = 'Test';
于 2012-09-16T14:34:05.640 に答える