0
チュートリアルを使用する次のPHPMailer PHPファイルを貼り付けて、次のHTMLフォームを作成しました。しかし、送信後にエラーが発生しました。 "メッセージを送信できませんでした。メールエラー:メッセージ本文が空です"。助けてください。PHPMailer body message空のエラー
<?php
require 'phpmailer/PHPMailerAutoload.php';
$mail = new PHPMailer;
//$mail->SMTPDebug = 3;
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = '[email protected]';
$mail->Password = 'xxx';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->setFrom('[email protected]', 'Mailer');
$mail->addAddress('[email protected]', 'Joe User');
$mail->addReplyTo('[email protected]', 'Information');
$mail->addAttachment('/var/tmp/file.tar.gz');
$mail->addAttachment('/tmp/image.jpg', 'new.jpg');
$mail->isHTML(true);
$mail->Subject = 'Here is the subject';
$mail->From = $email;
$mail->FromName = $name;
$mail->Body = $message;
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
?>
、ここであなたのスクリプトはグローバル変数として利用可能リクエストパラメータに依存しているように見える形
<form name="contactform" method="post" action="email.php">
<div class="input-text-container clear">
<input type="text" name="name" id="name" placeholder="Your Name"
class="input-text input-text-left">
<input type="text" name="email" id="email" placeholder="Your E-mail"
class="input-text input-text-right">
</div>
<textarea type="text" name="message" id="message" placeholder="Your
Message" class="textarea"></textarea>
<button type="submit" value="submit Form" class="submit">SUBMIT</button>
</form>
ありがとう、私はすべてのパラメータのためにそれをやった、今私はボディと名前の両方を見ることができますが、応答の電子メールはどこにも表示されません。 – Huselius
現在、属性( 'From'、' FromName')とそれらを設定するメソッド( 'setFrom()')の両方を使用します。もう一方はもう一方を上書きするので、アドレス「from @ example.com」はあなたの電子メールにはもう存在しません。 –
私は混乱して申し訳ありません。その[email protected]は、フォームに書かれた電子メールを知る必要があるので、私はまったく必要ないと思われます。 setFrom()を削除しても、ID「email」の入力セルに書かれている電子メールはまだ表示されません – Huselius