Функция PHPMailer или php mail - показать адрес BCC

Я использую PHPMailer для отправки писем в базу данных клиентов при возникновении определенных событий. Очевидно, я не хочу, чтобы все получали полный список электронных писем клиента, поэтому я отправляю их в BCC с помощью PHPMailer. Работает нормально, но есть одна проблема.

Клиент, получивший электронное письмо, ничего не получил в поле целевого электронного письма. Просто пусто. Разве он не должен видеть свой адрес и собственное имя, которые я посылаю? Людям, которые перенаправляют электронные письма, полезно знать, какие из них были целевыми.

То же самое и с собственной функцией PHP mail().

Есть ли способ справиться с этим?

Спасибо впереди!


person Jeremy Belolo    schedule 13.08.2013    source источник


Ответы (2)


Такова природа электронной почты. Когда человек имеет скрытую копию, он увидит только поля Кому:, От: и Копия:. Поле BCC скроет каждый адрес электронной почты, даже адрес получателя.

Из вики:

Существует три способа использования поля BCC:.

В первом случае, когда сообщение, содержащее поле BCC:, готовится к отправке, строка BCC: удаляется, даже если всем получателям (в том числе указанным в поле BCC:) отправляется копия сообщения.

Во втором случае получателям, указанным в строках Кому: и Копия:, отправляется копия сообщения с удаленной строкой BCC:, как указано выше, но получатели в строке BCC: получают отдельную копию сообщения, содержащего скрытую копию. : линия. (Когда в поле BCC: указано несколько адресов получателей, некоторые реализации фактически отправляют отдельную копию сообщения каждому получателю с BCC:, содержащей только адрес этого конкретного получателя.)

Наконец, поскольку поле BCC: может не содержать адресов, поле BCC: может быть отправлено без каких-либо адресов, указывающих получателям, что кому-то были отправлены слепые копии.

person aynber    schedule 13.08.2013
comment
Дело в том, что если я отправлю письмо через Gmail в BCC, получатель увидит свой собственный адрес... Так как же это возможно? - person Jeremy Belolo; 13.08.2013
comment
Это реализация настоящего почтового сервера, а не какой-либо почтовой функции или языка. Второй бит в скобках второго регистра. Вам нужно будет изучить, как изменить свой SMTP-сервер, если вы хотите изменить способ отправки с помощью BCC. - person aynber; 13.08.2013

Нет, BCC работает не так.

Если вы получаете электронное письмо через скрытую копию, ваш почтовый клиент покажет вам исходный адрес получателя в поле «Кому», а не ваш.

Это относится ко всем письмам BCC; это не имеет ничего общего с phpMailer.

Если вы хотите, чтобы получатели видели что-то в поле «Кому», вам нужно заполнить его фиктивным значением, например, «[email protected]».

Хорошо отправлять такие сообщения через скрытую копию, так что вы делаете правильно. Но если вы действительно хотите, чтобы конечный пользователь видел свой собственный адрес электронной почты в поле «Кому», то единственный способ сделать это — отправить сообщение каждому пользователю в виде отдельного электронного письма, поэтому вы используете поле «Кому» и не «скрытая копия». Однако это резко увеличит нагрузку на ваши почтовые системы, так что, вероятно, это не выход.

person Spudley    schedule 13.08.2013
comment
Я написал эту программу, чтобы заменить другую, которая работала, как вы сказали, отправляя по одному письму за раз... это становилось очень дорогим по времени и ресурсам. - person Jeremy Belolo; 13.08.2013
comment
Что ж, в таком случае лучше всего ввести фиктивное значение в поле «Кому» и оставить его на этом. Либо так, либо используйте полноценное программное обеспечение для списка рассылки, такое как majordomo. - person Spudley; 13.08.2013