Правильный способ отправить почтовики, используя PHP? -- php поле с участием email пол Связанный проблема

proper way to send mailers using php?


1
vote

проблема

русский

У меня есть PHP-скрипт для отправки 1 00 000 писем каждый день. Он просто управляет всеми электронными письмами в цикле и ссылается на почту () ..

Я не могу использовать менеджер по почте, потому что. Каждое почта имеет разные контент, уникальные Clickurls. Это правильный способ отправить почтовому письма?

Спасибо

Английский оригинал

I have php script to send 1,00,000 mails everyday.. it just runs all emails in loop and invoke mail() function..

I can't use mailinglist manager because. each mail has different content, unique clickurls. is it the proper way to send mailers?

thank you

</div
     

Список ответов

3
 
vote
vote
Лучший ответ
 

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

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

Также вы пытались использовать SWIFTMailer и т. Д.?

 

Sending thousands of emails from a PHP script is a bit messy at best. One of the real problems is to ensure that the script keeps running as long as necessary to do the job. You can do that if you keep resetting the time out for PHP and you have permission to do that, but there's still going to be a host of other problems.

The best thing to do is to build the email message and the list of recipients in PHP then hand the task of mailing off to something else - either a shell script or some kind of application that gets spawned off and detached from PHP in some way.

Also have you tried using SwiftMailer etc?

</div
 
 
2
 
vote

Должно быть в порядке, пока вы предоставляете пользователям ссылку на отписаться из списка рассылки. Убедитесь, что вы на хороших условиях с вашим поставщиком SMTP-сервера. В противном случае сервер будет заблокирован.

Редактировать: Многие SMTP-серверы имеют ограничения на количество электронных писем, которые вы можете отправить через час. Узнайте этот предел для вашего SMTP-сервера и поместите небольшую задержку () в свой цикл после отправки каждого электронного письма.

 

It should be alright, as long as you provide users a link to unsubscribe from the mailing list. Make sure you're on good terms with your SMTP server provider. Otherwise, the server will get blacklisted.

EDIT: Many SMTP servers have limitations on the number of emails you can send out in an hour. Find out this limit for your SMTP server and put a small delay() in your loop after sending out each email.

</div
 
 
-2
 
vote

PHP Mail (...) Функция?

 

php mail(...) function?

</div
 
 

Связанный проблема

0  WordPress do_action password_reset не работает  ( Wordpress do action password reset is not working ) 
Я использую WordPress 4.7.3. Сброс пароля не работает. Когда я отладил свой код. Я добрался до этой линии внутри пользователей .php reset_password (): <код>...

0  Определить переменные в шаблоне  ( Define variables in a template ) 
Можно ли определить переменную в шаблоне экспрессии шаблона? Если это так, как можно сделать так? Пример следующего использования в качестве примера. Я ищу ...

2  Как я могу скачать партию фотографий из URL-адресов, хранящихся в базе данных MySQL  ( How do i download a batch of pictures from urls stored in a mysql database ) 
У меня есть база данных, содержащая URL-адреса изображений, которые выглядят так: <код> DATABASE : id / url 1 / http://www.pic1.jpg 2 / http://www.pic2.jpg ...

0  Композитор застрял на `Что-то изменилось, снова смотрел на все правила` Во время обновления laravel до 5,6  ( Composer stuck on somethings changed looking at all rules again while updati ) 
Я пытаюсь обновить мою приложение Laravel. Я был в 5.2, а теперь я в 5,5. Все работает нормально до здесь. Теперь я изменил его на <код> 5.6.* в моем файле...

6  Magento Получить цену, включая налог в файл нет шаблона  ( Magento get price including tax in a none template file ) 
На данный момент я пытаюсь получить цену продукта, включая налог в PHP-файле для моего продукта. У меня есть этот код в данный момент: <код> $_product = Mag...

1  Разрешение дополнительных переменных с переписыванием COND  ( Allowing optional variables with rewrite cond ) 
У меня в настоящее время есть следующий код: <код> RewriteCond %{REQUEST_URI} !assets/ RewriteCond %{REQUEST_URI} !uploads/ RewriteRule ^([a-z|0-9_&;=-]+)/(...

0  Процедура ничего не делает  ( Procedure doesnt do anything ) 
Я сделал процедуру в MySQL. Похоже, это выглядит. Я назвал эту процедуру из PHP. После этого звонка стол все еще остается пустым, и я не знаю почему. ...

-1  Как схватить значение флажки как целое число и не строку? [Дубликат]  ( How to grab checkbox value as integer and not string ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> Этот вопрос уже есть ответы здесь : ...

1  Доступ к данным из другой базы данных в Joomla 3.2+  ( Accessing data from another database in joomla 3 2 ) 
Я обновляю свои компоненты от Joomla 1.7 до Joomla 3.3 и должен держать оригинальную базу данных. Поэтому мне необходимо получить доступ к данным отображения ...

2  Прокси GOUTTE / DOXCE не работает  ( Goutte guzzle proxy doesnt work ) 
Я пытаюсь использовать gutte через прокси, но он проходит через исходный IP. Я не получаю никакой ошибки или что-то еще, и запросы идут хорошо, но хотя ориг...

1  Проблемы проектирования базы данных с отношениями  ( Database design issues with relationships ) 
Я работаю над обновлением для существующей базы данных, которая была разработана без какого-либо из кода для реализации рассматриваемой конструкции. Теперь я ...

0  Защита пользовательских данных - для использования в вызовах метода, SQL и файловые вызовы  ( Securing user data for use in method calls sql and file calls ) 
Я использую <код> $_GET , <код> $_POST и <код> $_COOKIE Переменные в вызовах метода, SQL-запросы и файловые вызовы - и необходимо сбежать / Перепишите эти д...

0  dbase_open () не может открыть файл .dbf  ( Dbase open cant open a dbf file ) 
Я установил расширение DBASE PHP в моем сервере Ubuntu. И я вижу, что DBASE_OPEN (...) не отображает никакой ошибки, но, хотя я предоставляю существующий путь...

1  PHP: DateTime '-1 день'  ( Php datetime 1 day ) 
Я хочу получить дату вчерашнего дня текущей даты в часовом поясе SpeciFC. Я пробовал это, но это не работает: <код> LoopGenrtReport2 Я все еще получаю се...

0  Невозможно получить любые поля объявлений из API API Facebook (PHP v2.8.1)  ( Unable to fetch any adset fields from facebook ads api php v2 8 1 ) 
Я получаю поля Adaccount просто хорошо. Но все мои попытки получить адапты неудачей. Я пытаюсь получить идеи всех кампаний, бегущих под Adaccount. Но во-первы...

Связанный проблема

0  WordPress do_action password_reset не работает 
0  Определить переменные в шаблоне 
2  Как я могу скачать партию фотографий из URL-адресов, хранящихся в базе данных MySQL 
0  Композитор застрял на `Что-то изменилось, снова смотрел на все правила` Во время обновления laravel до 5,6 
6  Magento Получить цену, включая налог в файл нет шаблона 
1  Разрешение дополнительных переменных с переписыванием COND 
0  Процедура ничего не делает 
-1  Как схватить значение флажки как целое число и не строку? [Дубликат] 
1  Доступ к данным из другой базы данных в Joomla 3.2+ 
2  Прокси GOUTTE / DOXCE не работает 
1  Проблемы проектирования базы данных с отношениями 
0  Защита пользовательских данных - для использования в вызовах метода, SQL и файловые вызовы 
0  dbase_open () не может открыть файл .dbf 
1  PHP: DateTime '-1 день' 
0  Невозможно получить любые поля объявлений из API API Facebook (PHP v2.8.1)