Автоматизированная электронная почта с PHP и MySQL?

Как я могу отправить автоматическое электронное письмо на введенный пользователем адрес электронной почты?

У меня Xampp, который является локальным веб-сервером, оснащенным Apache, и Mercury для почты.

Идеи?

Related of "Автоматизированная электронная почта с PHP и MySQL?"

Чтобы отправить электронное письмо, выполните поиск почты .

Чтобы запланировать задачу в Linux, найдите crontab.

Чтобы запланировать выполнение задачи в Windows, обратите внимание на планирование задач на панели управления.

И не используйте Xampp для производства. Это небезопасно.

Вместо функции mail () php вы должны использовать что-то вроде http://swiftmailer.org
Вы можете легко выполнить smtp-аутентификацию, шифрование, mime-mail, кодировку символов, пакетную рассылку …
И вы получаете гораздо более надежную отчетность об ошибках.

Это не ответ на ваш вопрос, но он может быть уместен:

Мой опыт работы с локальным веб-сервером заключается в том, что почта не дойдет до места назначения. Это зависит от вашего isp, но если у вас есть изменяющийся IP-адрес при каждом подключении к вашему isp (dial-up, adsl, cable), ваша исходящая почта скорее всего будет отклонена почтовым сервером получателей.

Многие из этих IP-диапазонов, которые дают своим клиентам, блокируются фильтрами спама.

По крайней мере, диапазон, в котором я участвую: 🙂

Будьте осторожны, потому что плохие люди будут писать сценарии, чтобы отправить вашу форму с помощью миллионов адресов электронной почты и попытаться отправить спам. Они также (попытаются) внедрить \ r \ n в представленном адресе, чтобы выписать другой контент и заголовки. Я делаю что-то вроде этого:

function sanitize($s) { $badheaders = array("/to\:/i", "/from\:/i", "/bcc\:/i", "/cc\:/i"); $s = preg_replace($badheaders, '(spam)', $s); if (strlen($s) > 2048) { $s = substr($s, 0, 2048); $s = $s." (TRUNCATED)"; } return $s; } 

затем я запускаю введенные пользователем строки через sanitize () перед вызовом mail (). Разумеется, YMMV.

php.net/mail :

 mail($to, $subject, $messge); 

Вы можете использовать phpmailer для отправки почты через SMTP-протокол, эта библиотека очень хороша! (WordPress CMS его использует!)