回答:
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
。ありがとう:)