Answers:
您可以使用hook_mail_alter()
更改从您的站点发出的任何电子邮件的“发件人”电子邮件地址。所使用的电子邮件地址必须符合RFC标准,它就是您问题的标题。但是用户名可能很棘手,可能包含非法字符。D6文档上有一条评论,其中提供了用于正确格式化电子邮件地址的代码示例。您的代码看起来像...
function yourmodule_mail_alter(&$message) {
$message['from'] = $message['headers']['From'] = '"Full Name" <email@address.com>';
}
另外,请记住,仅在所有电子邮件客户端中设置“发件人”地址可能都无法达到预期的效果(请参阅有关Drupal问题队列的讨论)。您可能还需要根据需要设置“发件人”,“错误至”和“答复至”。这些值位于$message
上述代码示例中变量的“标题”中。
这是Drupal 6中将站点名称添加到电子邮件中的方法。用所需的站点全名替换variable_get('site_name,Drupal')。
/**
* Implementation of hook_mail_alter().
* Here we allow the site name to be used as the senders name for outgoing email.
* see http://drupal.org/node/209672
*/
function mymodule_mail_alter(&$message){
$default_from = variable_get('site_mail', ini_get('sendmail_from'));
if($message['from'] == $default_from){
$message['from'] = '"'. variable_get('site_name', 'Drupal') .'" <'. $default_from .'>';
$message['headers']['From'] = $message['headers']['Sender'] = $message['headers']['Return-Path'] = $message['headers']['Errors-To'] = $message['headers']['Reply-To'] = $message['from'];
}
}
hook_mail_alter()的功能在Drupal 7中没有更改,因此应该可以使用。
Gmail & outlook
。谢谢:)