답변:
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'];
}
}
Drupal 7에서 hook_mail_alter () 함수가 변경되지 않았으므로 작동합니다.
Gmail & outlook
. 감사합니다 :)