В этой статье мы разберем то, как можно отсылать данные с формы на две, а то и больше e-mail адресов.
Довольно часто стал встречаться этот вопрос, что и с подвигло нас написать небольшую статью о том, как это сделать. В ней мы расскажем о двух способах.
Первый - когда получатели видят адреса всех других получателей этого письма. В плане написания кода этот вариант куда проще второго. Но его существенным недостатком является отсутствие конфиденциальности e-mail других получателей.
Второй - каждый получает свою копию письма, где в качестве получателя будет указано только он сам. В некоторых случаях предпочтительнее именно он.
Рассмотрим эти способы подробнее.
Способ первый. Общие получатели.
Для того, чтобы отправить данные из формы на два адреса этим способом, вам нужно в качестве первого аргумента функции mail указать эти адреса через запятую.
Возьмем для примера код из нашей статьи "Простая форма связи своими руками".
Всё, что нам нужно сделать, это добавить новое поле в форму, которое будет задавать второй e-mail адрес получателя:
И изменить обработчик:
Стоит обратить внимание на строчку 5, в которой мы получаем второй адрес и строчку 7, где мы формируем список получателей письма (у нас их двое в данном случае).
Результат работы этого скрипта можно посмотреть на демо-странице:
Соответственно, если вы хотите посылать сообщение сразу по нескольким адресам, все эти почты нужно указывать через запятую. Насколько мы знаем, никаких ограничений на количество получателей нету, но в этом лучше убедиться вам самим.
Способ второй. Анонимные получатели
Суть этого метода заключается в том, что по каждому адресу, на который необходимо отправить письмо отсылается своя копия письма.
Как можно понять такой способ не очень предпочтителен, если вам необходимо разослать письма 100 людям или более, так как скорее всего на сервере стоит ограничение на количество вызываемых функций mail в определенный промежуток времени. Поэтому во время рассылок, учитывают это время и делают перерывы, то есть добавляются какие-то таймеры или ещё что-то. В случае если вам нужно отправлять данные с формы, такой вариант не подойдет для большого количества e-mail адресов.
Рассмотрим пример кода для двух адресов, форма у нас будет выглядеть так же, как и в первом способе. Напоминаем, что мы взяли рабочий пример из статьи "Простая форма связи своими руками". Добавили в форму ещё одно поле, которое у нас будет отвечать за адрес второго получателя.
Обработчик для передачи сообщения двум людям будет выглядеть так:
Результат работы этого способа смотрите на демо-странице(отличается от первой):
Для отправки сообщения большему количеству людей, как уже говорилось ранее, придется мудрить - посылать в цикле, при этом учитывать разрешения сервера и нагрузку на него.
Добавить комментарий
Авторизоваться с помощью: