如何在Zend_Mail
中设置带标题的默认setFrom字段如果我发送这样的邮件
public function sendActivationEmail($id) {
$mail = new Zend_Mail();
$mail ->addTo('emailId1@gmail.com',"Recepient Name")
->setFrom("emailId1@gmail.com","Site Name")
->setSubject("My Subject")
->setBodyText("Some body msg")
->setBodyHtml("Some body msg")
->send();
}
我收到一封格式好的电子邮件,邮件中的From Field为"网站名称"
但是如果我发送没有setFrom的邮件,我仍然收到邮件,但标题是" emailId1@gmail.com"。我不想使用SetFrom()来获取" Site From"。有没有办法我可以设置它以便#34;网站名称"默认情况下被选中?
我已按照本教程设置了我的电子邮件:http://www.zendcasts.com/introduction-to-zend_mail/2010/02/
谢谢,
答案 0 :(得分:1)
如果要为from属性设置默认电子邮件地址,可以使用setDefaultFrom()
静态方法,如下所示:
例如,在你的boostrap中:
protected function _initFromMail(){
// You can get the mail from an init file
Zend_Mail::setDefaultFrom('emailId1@gmail.com', 'Site Name');
}
在您的功能中,自动发送来自地址的邮件。
public function sendActivationEmail($id) {
$mail = new Zend_Mail();
$mail ->addTo('emailId1@gmail.com',"Recepient Name")
->setSubject("My Subject")
->setBodyText("Some body msg")
->setBodyHtml("Some body msg")
->send();
}
答案 1 :(得分:0)
我可能只是创建Zend_Mail
的子类并使用它。如下所示:
class My_Mail extends Zend_Mail
{
public function __construct($charset = null)
{
parent::__construct($charset);
setFrom('emailId1@gmail.com, 'Site Name');
}
}
然后用法是:
$mail = new My_Mail();
$mail ->addTo('emailId1@gmail.com','Recipient Name')
->setSubject('My Subject')
->setBodyText('Some body msg')
->setBodyHtml('Some body msg')
->send();
有关如何在My_
伪命名空间中自动加载类的常规要求将适用。例如,您可以添加:
autoloaderNamespaces[] = My_
到application/config/application.ini