3

私はこれを何時間もやっていますが、うまくいきません.

http://blog.techwheels.net/send-email-from-localhost-wamp-server-using-sendmail/ですべての手順を実行し、他のユーザーが遭遇した問題に関するすべてのコメントを読み、回答したソリューションも使用しました。

Apacheエラーログに表示されるのはこれです

[Tue Nov 27 05:19:47 2012] [notice] Parent: Created child process 4120
[Tue Nov 27 05:19:47 2012] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Tue Nov 27 05:19:48 2012] [notice] Child 4120: Child process is running
[Tue Nov 27 05:19:48 2012] [notice] Child 4120: Acquired the start mutex.
[Tue Nov 27 05:19:48 2012] [notice] Child 4120: Starting 64 worker threads.
[Tue Nov 27 05:19:48 2012] [notice] Child 4120: Starting thread to listen on port 80.
[Tue Nov 27 05:19:48 2012] [notice] Child 4120: Starting thread to listen on port 80.

他のコンピューターでも試してみましたが、同じエラー ログが表示されます。ファイアウォールを無効にし、チュートリアルの手順にも厳密に従いました。

4

1 に答える 1

5

前の回答で申し訳ありません。私の答えを改善するための提案をありがとう。これが私の答えです。phpmailer には class.phpmailer.php というファイルがあります。次にfunction smtpmailer($to, $from, $from_name, $subject, $body)、コードは次のようになります。

global $error;
$mail = new PHPMailer(); 
$mail->IsSMTP(); 
$mail->SMTPDebug = 0; 
$mail->SMTPAuth = true;  
$mail->SMTPSecure = 'ssl'; 
$mail->Host = 'smtp.gmail.com';
$mail->Port = 465; 
$mail->Username = 'gmailusername';  
$mail->Password = 'gmailpassword';           
$mail->SetFrom($from, $from_name);
$mail->Subject = $subject;
    $mail->IsHTML(True);
    $mail->Body=$body;
//$mail->Body = $body;
$mail->AddAddress($to);
if(!$mail->Send()) {
    $error = 'Mail error: '.$mail->ErrorInfo; 
    return false;
} else {
    $error = 'Message sent!';
    return true;
}

次に、次のように、必要な場所で関数を呼び出します。 smtpmailer($to, $from, $headers, $subject, $message);

ああ、これの前に、php_openssl 拡張機能が有効になっていることを確認してください。

私のこの答えがお役に立てば幸いです。:)

于 2012-11-27T10:57:15.630 に答える