wp mail() отправляет неверные сообщения Из заголовка
При использовании этого кода ниже с wp_mail()
я всегда попадаю в заголовок
[email protected] . И в Thunderbird в колонке Корреспонденты: Wordpress.
Но мне нужно: 'От: "Klantenservice"<' .$по электронной почте.'>'
В https://developer.wordpress.org/reference/functions/wp_mail / и на других страницах я не могу найти решение для этого.
$body = __('Name:', 'Avada')." $user_name \n\n";
$body .= __('Email:', 'Avada')." $user_email \n\n";
$body .= __('Telefoon:', 'Avada')." $telephone \n\n";
$body .= __('Betreft:', 'Avada')." $subject \n\n";
$body .= __('Bericht:', 'Avada')."\n $message";
$headers = 'From: "Klantenservice"<' . $emailTo . '>' . "\r\n";
$emailTo = '[email protected]';
//$mail = wp_mail($user_email, $subject, $body, $headers);
$mail = wp_mail($emailTo, 'Contact verzoek', $body, '');
Как я могу это исправить?
Вот решение добавьте это в functions.php:
add_filter( 'wp_mail_from_name', 'my_mail_from_name' );
function my_mail_from_name( $name )
{
return "My Name";
}
2 answers
Похоже, что вы устанавливаете переменную $emailto
после места, в котором вы ее используете.
Проблема двоякая. Во-первых, установка $emailTo
после значение заголовка, в котором используется эта переменная (поэтому в заголовке она пуста).
Во-вторых, установленное значение $header
не используется в фактическом вызове wp_mail()
. Вместо этого он передает пустое значение. (Он установлен в строке ранее, но закомментирован, предположительно для тестирования.)
Вот проблемный раздел:
$headers = 'From: "Klantenservice"<' . $emailTo . '>' . "\r\n";
$emailTo = '[email protected]';
//$mail = wp_mail($user_email, $subject, $body, $headers);
$mail = wp_mail($emailTo, 'Contact verzoek', $body, '');
Вот как это должно быть:
$emailTo = '[email protected]';
$headers = 'From: "Klantenservice"<' . $emailTo . '>' . "\r\n";
//$mail = wp_mail($user_email, $subject, $body, $headers);
$mail = wp_mail($emailTo, 'Contact verzoek', $body, $headers);