操作
Backport(バックポート) #3583
完了OpenPNE.ymlに設定したmail_envelope_fromがReturnPathに反映されない
開始日:
2013-06-11
期日:
進捗率:
100%
予定工数:
説明
現象¶
OpenPNE.ymlにmail_envelope_fromの設定を行っても、設定値がReturnPathに反映されません。
config/OpenPNE.yml 96 # SNS から送信するメールの Envelope From (Return-Path ヘッダ) に指定するアドレス (PHP の safe_mode が有効な環境では指定できません) 97 # Envelope From (Return-Path header) address for sending e-mail from the SNS (cannot use if your PHP's safe_mode setting is on) 98 mail_envelope_from: "return@example.com"
原因¶
opMailSend::executeにて上記の設定値を
Zend_Mail::setReturnPathに引き渡しておりますが、このメソッドが期待通り動作していないようです。
lib/util/opMailSend.class.php 211 $mailer = new Zend_Mail('iso-2022-jp'); 212 $mailer->setHeaderEncoding(Zend_Mime::ENCODING_BASE64) 213 ->setFrom($from) 214 ->addTo($to) 215 ->setSubject(mb_encode_mimeheader($subject, 'iso-2022-jp')) 216 ->setBodyText(mb_convert_encoding($body, 'JIS', 'UTF-8'), 'iso-2022-jp', Zend_Mime::ENCODING_7BIT); 217 218 if ($envelopeFrom = sfConfig::get('op_mail_envelope_from')) 219 { 220 $mailer->setReturnPath($envelopeFrom); 221 }
関連情報¶
http://framework.zend.com/manual/1.12/ja/zend.mail.additional-headers.html
Note: Return-Path
もしメールに Return-Path を設定する場合は、sendmail トランスポートの設定をご覧ください。 残念ながら、 setReturnPath($email) メソッドはこの目的を果たしません。
http://framework.zend.com/manual/1.12/ja/zend.mail.introduction.html#zend.mail.introduction.sendmail
操作