我正在尝试在我的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
尝试的所有内容都失败了。你知道我做错了什么吗?
答案 0 :(得分:17)
// Set a single From: address
$message->setFrom('your@address.tld');
// Set a From: address including a name
$message->setFrom(array('your@address.tld' => 'Your Name'));
// Set multiple From: addresses if multiple people wrote the email
$message->setFrom(array(
'person1@example.org' => 'Sender One',
'person2@example.org' => 'Sender Two'
));
答案 1 :(得分: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库的集成,它是一个库,而不是“管理器”。