5

Symfony2アプリケーション内でメールが送信されたときに、送信者に名前を付けようとしています

Administrator <no-reply@app.com>

私はで試しましたparameters.ini

mailer_from      = {"no-reply@app.com : Administrator"}

SimpleMessage.php には以下があるため、そうすることが可能と思われます。

  /**
   * Set the sender of this message.
   * This does not override the From field, but it has a higher significance.
   * @param string $sender
   * @param string $name optional
   * @return Swift_Mime_SimpleMessage
   */
  public function setSender($address, $name = null)
  {
    if (!is_array($address) && isset($name))
    {
      $address = array($address => $name);
    }

    if (!$this->_setHeaderFieldModel('Sender', (array) $address))
    {
      $this->getHeaders()->addMailboxHeader('Sender', (array) $address);
    }
    return $this;
  }

私が試みたすべてのことはparameters.ini失敗しました。私が間違っていることを知っていますか?

4

2 に答える 2

3

SimpleMessage.php には

名前を設定することは可能ですが、構成を使用して設定できることを示すものは何もありません。

SwitfMailerBundle ( )の利用可能な構成のクイック ダンプphp app/console config:dump-reference SwiftmailerBundleが返されます。

Default configuration for "SwiftmailerBundle"
swiftmailer:          
    transport:            smtp 
    username:             ~ 
    password:             ~ 
    host:                 localhost 
    port:                 false 
    encryption:           ~ 
    auth_mode:            ~ 
    spool:                
        type:                 file 
        path:                 %kernel.cache_dir%/swiftmailer/spool 
    sender_address:       ~ 
    antiflood:            
        threshold:            99 
        sleep:                0 
    delivery_address:     ~ 
    disable_delivery:     ~ 
    logging:              true 

ご覧のとおり、 にsender_address渡されるものがありImpersonatePlugin.phpます。

名前を設定できるかどうかはわかりませんが、標準的な方法は、そのままでは、その形式の文字列を使用することです。

「管理者」

それが機能しない場合は、実際の EmailManager を作成するために何らかの作業を行う必要があることを意味している可能性があります。

SwiftMailerBundle は、実際には SwiftMailer ライブラリの統合にすぎません。これはライブラリであり、「マネージャ」ではありません。

于 2012-06-21T09:20:20.847 に答える