Відповіді:
Ви можете використовувати hook_mail_alter()
для зміни електронної адреси "з" будь-якого електронного листа, надісланого з вашого веб-сайту. Електронна адреса електронної пошти повинна відповідати стандарту RFC, і це саме заголовок вашого питання. Але імена користувачів можуть бути складними і можуть містити незаконні символи. Існує коментар до документів D6, який пропонує зразок коду для правильного форматування електронної адреси . Ваш код виглядатиме приблизно так ...
function yourmodule_mail_alter(&$message) {
$message['from'] = $message['headers']['From'] = '"Full Name" <email@address.com>';
}
Також майте на увазі, що лише встановлення адреси "від" може не мати бажаних результатів у всіх клієнтів електронної пошти (див. Обговорення в черзі випуску Drupal ). Можливо, вам також знадобиться встановити "відправник", "помилки" та "відповідь до" відповідно до ваших вимог. Ці значення знаходяться у "заголовку" $message
змінної з наведеного вище зразка коду.
Це метод від Drupal 6 для додавання імені сайту до електронної пошти. Замініть змінний_розмір ('ім'я_комісії, 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 функція для kuka_mail_alter () не змінилася, тому це має працювати.
Gmail & outlook
. Дякую :)
Щодо налаштувань, які ви повинні змінити, це все ще проблема в D7. Якщо у вас виникли сумніви, використовуйте наступний код у вашому_укріпному_матері:
$message['from'] = $from;
$message['headers']['From'] = $from;
$message['headers']['Sender'] = $from;
$message['headers']['Return-Path'] = $from;