7

Swift-Mailer スクリプトを介してメールを送信することになっている単純な PHP 連絡フォームを作成しました。

問題は、このエラーが発生し続けることです

メッセージ「指定されたメールボックスのアドレス [] は、RFC 2822、3.6.2 に準拠していません。」

これは、無効な電子メール アドレスを使用していることを意味します。しかし、私はスクリプトをテストするために myaddress@gmail.com を使用しているので、問題はおそらく別の場所にあります。これは私の構成です:

メールの送信先:

$my_mail = 'mymail@mydomain.com';
$my_name = 'My Name';

メッセージの内容:

$name = trim($_POST['name']);
$email = trim($_POST['email']);
$message = trim($_POST['message']);
$date = date('d/m/Y H:i:s'); 
$ipaddress = $_SERVER['REMOTE_ADDR'];  

$content = $message.'\n\nSent on: '.$date.' From: '.$ipaddress;

swiftmailer を使用してメールを送信するために使用する関数:

function send_mail () {
require('/path/to/swift_required.php');

//The means of transport
$transport = Swift_SmtpTransport::newInstance('mail.mydomain.com', 25);
$transport->setUsername('myusername');
$transport->setPassword('mypass');

$mailer = Swift_Mailer::newInstance($transport);

//The message
$mail = Swift_Message::newInstance();
$mail->setSubject('Hello');
$mail->setFrom(array($email => $name ));
$mail->setTo(array($my_mail => $my_name));
$mail->setBody($content, 'text/plain');

//Sending the message
$test = $mailer->send($mail);

if ($test) {
    echo '<p>Thank you for contacting us '.$name.'! We will get in touch soon.</p>';
}
else {
          echo '<p>Something went wrong. Please try again later.</p>';
}
}

ご覧のとおり、名前、メール、メッセージの 3 つのフィールドを持つ非常にシンプルなフォームです。コンタクトフォームのフィールドごとに他のバリデーションも設定していますが、ここではほとんど問題にならないと思います。

お手伝いありがとう。

編集: gmail を smtp サーバーとして使用してテストするだけです。残念ながら、それでもまったく同じ結果が得られます。

4

1 に答える 1

2

すべてのデータ変数 (アドレス、名前など) はグローバルに見えます。グローバル変数は、パラメーターとして渡す (推奨される方法) か、globalキーワード (または$GLOBALS配列) を使用しない限り、関数内から読み取ることはできません。

于 2011-06-28T14:51:32.710 に答える