1

ユーザーがフォームに入力した後、phpで簡単な電子メールを自動的に送信する方法について、数週間ではないにしても数日を探していました。私はPear、PHPメール、Swiftmailerを試し、php.iniを変更し、別のサーバーを試しましたが、どれも機能しないことに腹を立てています。まだ1通のメールを送信できていません。私は延々と検索しましたが、何をすべきか、なぜ何も機能しないのかまだわかりません。現在、Swiftmailerを使用しています(2回目)。コードを使用してテストページを設定しました。

<?php
require_once 'swift/lib/swift_required.php';


// CREATE TRANSPORT CONFIG
$transport = Swift_MailTransport::newInstance();


// CREATE MSG
$message = Swift_Message::newInstance();

// SET PRIORITY TO HIGH
$message->setPriority(2);

// SUBJECT
$message->setSubject('Subject');

// FROM
$message->setFrom(array('example@btopenworld.com'));

// TO
$message->setTo(array('example@googlemail.com'));

// EMAIL BODY
$message->setBody('Test');

// SEND
$mailer = Swift_Mailer::newInstance($transport);
$mailer->send($message);

if (!$mailer->send($message, $failures)) {
echo "Failures:";
print_r($failures);
}


?>

同様の投稿を見て、誰かがコードの最後の部分を提案してエラーを確認しました。私のエラーは次のとおりです。

Failures:Array ( [0] => example@googlemail.com )

どの電子メールに変更しても(すべて私が持っている電子メールを使用しているので、実際の電子メールです)、機能しません。誰かが助けや提案を持っているなら、それは大いにありがたいです。

4

1 に答える 1

0

example@btopenworld.com

電子メールの送信元として btopenworld サーバーを使用していない限り、これは機能しません。メール fromアドレスは、メッセージの送信元のサーバーに関連付けられている必要があります。reply-toBT アドレスをヘッダーに入れることができます。

また、SwiftMailer には、何が問題なのかを正確に伝える「デバッグ」スイッチが必要ですが、現在ドキュメントで見つけることができません。これは、他のすべてが失敗した場合に役立つ Swiftmailer のロガー プラグインです

于 2013-02-04T17:59:58.227 に答える