2015-08-20 2 views
0

Я использую PHP почтовикPHP почтовик отписываться в массовую электронную почту

require ('phpMailer/PHPMailerAutoload.php'); 

послать массовые электронные письма. Я зацикливаю свой db на электронные письма и добавляю его в Bcc. Я хочу добавить пользовательские отписки сообщения в каждый орган, но когда я пытаюсь что-то вроде этого

foreach($list_mail as $db_mail) { 
$unsub_email = ($db_mail[0]); 
$unsubscribe1 = '<p><small>If you dont want to receive this, please click <a href="http://example.com/unsubscribe.php?email='; 
$unsubscribe2 = '">here</a></small></p>'; 
$email_text_unsub = $email_text . $unsubscribe1 . $unsub_email . $unsubscribe2; 
$mail->Body = $email_text_unsub; } 

У меня в каждую электронную почту последней перечисленную электронной почта в URL. Я понимаю, что это будет возможно, если я отправлю каждое электронное письмо в цикле (с помощью mail-> send), но я хочу отправить один массовый адрес электронной почты, но с настроенным телом. Возможно ли это как-то?

+0

возможно дубликат [PHPMailer массовой рассылки с использованием BCC и не ловили преуспевающий addressses электронной почты] (http://stackoverflow.com/questions/29001389/phpmailer-mass-mailing-using-bcc-and-catching-not -successfull-email-addressses) – McBurgerKong

ответ

2

Как сообщалось, если вы отправляете почту сразу нескольким получателям, то это должен быть тот же самый адрес электронной почты - так работает электронная почта. Это не ограничение PHP или phpMailer, это просто способ работы электронной почты.

Ваш выбор:

  1. Отправить отдельную почту для каждого пользователя. Как вы говорите, это приведет к тому, что вы быстро столкнетесь с лимитами ставок со своим провайдером. Вы можете изменить поставщика, но у каждого будет какой-то предел. Если вам действительно нужно отправить много писем, вы в конечном итоге заплатите за это.

  2. Разделите свой список рассылки, чтобы вы отправляли только часть списка каждый день. Это может помочь вам сохранить лимиты ставок, если это ежедневный лимит. (это не поможет для ежемесячных лимитов, хотя)

  3. Используйте специальную стороннюю службу электронной почты, такую ​​как https://sendgrid.com/. Sendgrid (другие аналогичные провайдеры также существуют) предоставляет почтовую службу SMTP, предназначенную для маркетинговых сообщений. Их основная услуга бесплатна и позволяет отправлять до 400 уникальных писем в день. Если эта цифра значительно лучше, чем у вашего собственного провайдера, их, возможно, стоит рассмотреть. (они также дают вам статистику, показывающую статистику, и если вы помечены как спам и т. д., так что в этом есть и дополнительная ценность)

  4. Просто отправьте одно и то же одно письмо всем, но с общей отпиской ссылка. Поскольку каждый получает одну и ту же почту, ссылка на отмену подписки не может содержать никаких токенов, специфичных для пользователя, поэтому ваши пользователи должны будут ввести свой адрес электронной почты на страницу отмены подписки, поэтому для них возникнут незначительные неудобства, но это позволяет вам отправлять через BCC за ваш первоначальный план.

+0

Я сделал это с помощью общей ссылки для отмены подписки и создаю простую страницу, где пользователь ставит свой адрес электронной почты и отжимает подписку, спасибо –

1

Если вы хотите отправить другой почтовый ящик по каждому адресу, вы не сможете использовать BCC. Вам нужно будет отправить столько писем, сколько адресов.

+0

Эта проблема связана с тем, что почтовый сервер провайдеров имеет ограничение на то, сколько писем может быть отправлено за один день ... поэтому мне нужно изменить функцию отмены подписки, чтобы связать, куда они отправят свою электронную почту, и подтвердить отмену подписки спасибо –

0

Как @ aurel.g сказал, вы must пришлите индивидуальные сообщения, чтобы это было возможно.

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

PHPMailer предоставляет mailing list sending example, который показывает, как выполнять фактическую отправку; это зависит от вас, чтобы разработать механизм отмены подписки.

Если ваш хост не позволяет вам отправлять достаточно, пришло время найти лучшего хоста.