お世話になります。
CakePHPでブログアプリを作成しており、お問い合わせ用のメールフォームを実装しようとしています。
しかし、Fromで指定したアドレスが、Toで指定したものと同じアドレスになってしまいます。
実装方法としては、App/Form/ContactFormを作成して、ビューにフォームを作成し、そこから差出人などのメールの値を取得してEmail::send()に渡しています。
PHP
1//class ContactForm extends Form 2protected function _execute(array $data) 3{ 4 $email = new Email('default'); 5 6 $email->from(array('me@example.com' => 'My Site')) 7 ->to('test@gmail.com') 8 ->subject($data['subject']) 9 ->send($data['body']); 10 11 return true; 12} 13
ヘッダの内容として渡されていると思われるデータ(下記)を見ると
確かに上記ソースで渡されたfromの値が入っているのですが、
実際にメールが届くと、送信先と同じアドレスになった状態で届きます。
■\src\Mailer\Transport\SmtpTransport.php (line 393)
$headerの値
'From: My Site me@example.com
To: test@gmail.com
Date: Sun, 04 Sep 2016 12:52:20 +0000
Message-ID: XXXXXXXXXXXXXXXXXX@localhost
Subject: test3
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit'
また、replyを設定すると、返信先のアドレスは正常に設定することができ、件名や本文なども正常に送信することができます。
また、別の送信先でも試したのですが、別のアドレスでも、届くときにはToとFromが同じアドレスになってしまいます。
これは、どのような原因が考えられますでしょうか。
ご教授いただけると幸いです。
宜しくお願い致します。
すみません。バージョンの記載がありませんでした。
CakePHP3.2
PHP5.6
を使用しています。
宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー