私がやろうとしているのは、メールアドレスを次のようにフォーマットすることです。これによりFoo Bar <foo@bar.com>
、メールクライアント (gmail のような Web ベースを含む) は、送信者を「foo」ではなく「Foo Bar」として表示します。これは、メールのプレフィックスであるためです。
これは Magento 1.5 で可能ですか? フィールド自体に書式を設定しようとすると、エラー メッセージが表示されます。
私がやろうとしているのは、メールアドレスを次のようにフォーマットすることです。これによりFoo Bar <foo@bar.com>
、メールクライアント (gmail のような Web ベースを含む) は、送信者を「foo」ではなく「Foo Bar」として表示します。これは、メールのプレフィックスであるためです。
これは Magento 1.5 で可能ですか? フィールド自体に書式を設定しようとすると、エラー メッセージが表示されます。
それが送信者名フィールドの機能です。これは私の設定と Thunderbird での表示です (私のウェブメール クライアントも同様にフォーマットします):
それがうまくいくかどうかはわかりません。Magentoの内部には、そのような電子メールアドレスの検証を行うZend_Validateがあります。そして、「FooBar」のようなメールが有効だとは思いません。しかし、顧客の電子メールクライアントでの表示はクライアントに依存していると思いますね。
code/core/Mage/Core/Model/Email.php
実際のメールの実装については、 を参照してください。を使用していることにお気づきかもしれませんZend_Mail
。さて、ここにキャッチがあります:
For security reasons, Zend_Mail filters all header fields to prevent header
injection with newline (\n) characters. Double quotation is changed to single
quotation and angle brackets to square brackets in the name of sender and recipients.
If the marks are in email address, the marks will be removed.
ただし、できることは、現在のクラスを書き換えて関数Mage_Core_Model_Email
を上書きするモジュールを作成することです。この質問の回答send()
で、以前にクラスの書き換えについて説明しました。次に、この新しく書き直されたクラスで、PHPmailer を呼び出したり、シェル メール コマンドを呼び出したり、この動作を許可することがわかっている任意の PHP ライブラリを使用したりできます。
幸運を祈ります。