Email с адресом "Reply-to"

30 мар. 2015 г., 08:06:05
Просмотры: 23.2K
Голосов: 7

Я искал в интернете последние пару дней информацию про "Reply-to Address" в email, но не нашел, поэтому я здесь.

На моем WordPress сайте есть несколько владельцев магазинов, которые могут продавать свои товары. Когда посетители покупают определенный товар (размещенный разными владельцами), конкретный владелец получает email уведомление (Обратите внимание, что указание email адреса посетителя обязательно во время оформления заказа)

Однако email отправляется с учетной записи "Администратора".

Я искал способ настройки адреса "reply-to", чтобы владельцы могли отвечать напрямую на email адрес клиента вместо учетной записи администратора.

Вот пример того, чего я пытаюсь достичь:

Пример настройки reply-to адреса в email

На этом изображении сайт abc.ca и customer@gmail.com что-то купил. Затем owner@gmail.com получил email, на который владелец теперь может отправить ответ напрямую клиенту из письма.

Как я могу реализовать что-то подобное?

РЕДАКТИРОВАНИЕ:

Вот код, который у меня есть сейчас:

add_filter('woocommerce_email_headers', 'my_from_reply');
function my_from_reply() {
    return 'From: my@email.here' . "\r\n";
}

А это email клиента из данных оплаты.

<?php echo $order->billing_email; ?>

Как мне изменить первый код, чтобы включить "billing_email" вместо "my@email.here"

Спасибо

4
Комментарии

Вы используете какое-то конкретное решение для электронной коммерции?

Z. Zlatev Z. Zlatev
30 мар. 2015 г. 08:28:43

Да. Я использую WooCommerce для этого. =)

Steve Kim Steve Kim
30 мар. 2015 г. 08:34:25

Без демонстрации кода, который отправляет письмо, невозможно ответить на вопрос.

Mark Kaplun Mark Kaplun
30 мар. 2015 г. 09:14:53

Что ж, у меня нет кода. Я даже не могу начать или даже не знаю, с чего вообще начать.

Steve Kim Steve Kim
30 мар. 2015 г. 09:24:13
Все ответы на вопрос 2
6
26

Если вы используете функцию wp_mail(), то вы можете просто установить заголовок Reply-To для параметра $headers. Пример использования ниже:

$to          = "abc@def.gh";
$subject     = "Использование Reply-To с wp_mail";
$message     = "Это пример использования Reply-To с функцией wp_mail.";
$headers[]   = 'Reply-To: Имя Фамилия <ijk@lmn.op>';
$attachments = array();
wp_mail( $to, $subject, $message, $headers, $attachments ); 

Также существует хук wp_mail, который можно использовать для изменения параметров.

30 мар. 2015 г. 15:37:18
Комментарии

Если я не ошибаюсь, WC использует wp_mail() и имеет хук woocommerce_email_headers, который вы можете использовать.

Nicolai Grossherr Nicolai Grossherr
30 мар. 2015 г. 15:51:44

Итак, я отредактировал свой оригинальный пост, чтобы включить изменения, которые требуют некоторой доработки. Есть какие-то предложения, как я могу его изменить, чтобы можно было вернуть "billing_email"?

Steve Kim Steve Kim
31 мар. 2015 г. 06:38:22

Я попробовал внести некоторые изменения, но безрезультатно. Любая помощь будет очень ценной. Спасибо.

Steve Kim Steve Kim
31 мар. 2015 г. 09:54:33

Я никогда реально не делал этого с WC, просто вспомнил, что есть некоторые возможности. Поэтому не могу дать вам немедленную и конкретную помощь. @steveKim

Nicolai Grossherr Nicolai Grossherr
31 мар. 2015 г. 14:49:02

обратите внимание, пример массива $headers в этом ответе НЕВЕРНЫЙ. Должно быть $headers = array('Reply-To: Имя Фамилия <ijk@lmn.op>'); Он НЕ принимает ассоциативный массив.

Jared Henderson Jared Henderson
22 июл. 2016 г. 20:36:43

@JaredHenderson Спасибо, вы правы! Хотя мне больше нравится так: $headers[] = 'Reply-To: Имя Фамилия <ijk@lmn.op>';

Nicolai Grossherr Nicolai Grossherr
23 июл. 2016 г. 14:07:54
Показать остальные 1 комментариев
0

В файле functions.php

// Функция изменяет email, с которого отправляются письма с вашего сайта
function change_my_from_address( $original_email_address ) {
    return 'example@example.pl';
}
add_filter( 'wp_mail_from', 'change_my_from_address' );

// Изменение имени отправителя
function change_my_sender_name( $original_email_from ) {
    return 'example.pl';
}
add_filter( 'wp_mail_from_name', 'change_my_sender_name' );
18 сент. 2020 г. 15:09:44