2011-07-09 8 views
7

私はアプリケーションからメールを送信するのにSwiftMailerを使用しています。Swift_Messageでメールを送信するときに送信者の名前テキストを変更するにはどうすればよいですか?

これまではすべて正常に動作しています。私は今、送信者のテキストを動的に変更できる必要があります。以下のコードスニペットと次の段落は、うまくいけば私が意味するものを明確にするはずです。

は現在、私のコードは次のようになります。

try{ 
    $message = Swift_Message::newInstance() 
       ->setFrom($from) 
       ->setTo($to) 
       ->setSubject($subject) 
       ->setBody($content); 

    $mailer->send($message); 
}catch (Exception $e) { 
    // do something ... 
} 

変数から$送信者の電子メールアドレスが含まれ - しかし[email protected]

ですが、私は毎日のダイジェストを送信したいです(例としてフォーラム、グループなど)のために(たとえば)、私は送信者がまだ[email protected]であっても、送信者の名前テキストを 'Forum ABC members daily digest'として設定したいと考えています。私は、リンクされた人が同様のことをしていることに気付きます。送信者は常に[email protected]ですが、異なる送信者の名前で異なるダイジェストを送信します。

[email protected]のデフォルト名は「System Mailer」です。ちなみに、私は郵便サービスプロバイダとしてGoogle Appsを使用しています。

同じ送信者の電子メールを使用しても、送信者の名前を動的に(つまりコードを介して)指定できる方法はありますか?住所?

答えて

25

$を配列として渡すだけです。

$from = array($from_email => $from_name); 

try{ 
    $message = Swift_Message::newInstance() 
       ->setFrom($from) 
       ->setTo($to) 
       ->setSubject($subject) 
       ->setBody($content); 

    $mailer->send($message); 
}catch (Exception $e) { 
    // do something ... 
} 

メーラごとに$ from_nameを変更します。

希望すると助かります!

+0

を使用することができます?。これがうまくいくなら、私はあなたの借金の中で永遠になるでしょう:p! – oompahloompah

+0

http://swiftmailer.org/docs/sending.html - 最初のコードスニペットを参照してください。あなたは私の借金にいる必要はありません。ちょうどupvoteし、それがあなたを助けた場合は受け入れる:) – Sukumar

+0

ありがとう! upvoteできませんでしたが、私はあなたの答えを受け入れました。 – oompahloompah

1

あなたは、これはから来ているドキュメント内の一部に私を指すことができます。また、

$message = Swift_Message::newInstance() 
      ->setFrom($email, $sender_name) 
      ->setTo($to) 
      ->setSubject($subject) 
      ->setBody($content); 
+0

手入れが行き届いていますか? – RamenChef

関連する問題