Есть ли способ настроить сервер WAMP для PHP, чтобы включить функцию mail()
?
Настройте сервер WAMP для отправки электронной почты
Ответы (7)
Настройка работающего почтового клиента с локального хоста — довольно сложная задача, я потратил часы разочарований, пытаясь это сделать. Я уверен, что кто-то более опытный сможет помочь, или, возможно, они согласятся со мной.
Если вы просто хотите протестировать, вот отличный инструмент для локального тестирования почты, который практически не требует настройки:
http://www.toolheap.com/test-mail-server-tool/
Это сработало сразу для меня, надеюсь, это поможет вам.
Установите Fake Sendmail (скачайте sendmail.zip). Затем настройте C:\wamp\sendmail\sendmail.ini:
smtp_server=smtp.gmail.com
smtp_port=465
[email protected]
auth_password=your_password
Вышеупомянутое будет работать с учетной записью Gmail. А затем настройте php.ini:
sendmail_path = "C:\wamp\sendmail\sendmail.exe -t"
Теперь перезапустите Apache, и это все, что вам нужно сделать.
Используя вызов программы с открытым исходным кодом Send Mail, вы можете довольно легко отправлять через wamp. Я все еще настраиваю его, но вот отличное руководство Джо Джордана. Настройка занимает менее 2 минут.
Только что попробовал, все работает! Как только я раскомментировал журнал ошибок и обнаружил, что он зависает при проверке подлинности pop3, я просто удалил это, и все было хорошо отправлено. Удачи!
mail
, вы получите электронное письмо от Google, в котором говорится, что попытка входа заблокирована. В этом письме нажмите «Проверить активность», а на открывшейся странице нажмите «Да, это был я», затем нажмите «Подробнее», затем нажмите «Если для вашей учетной записи отключен менее безопасный доступ к приложению», затем нажмите «Включить». снова включите его, а затем включите переключатель.
- person Donald Duck; 28.08.2019
from
при вызове mail
в PHP. Например, вы можете сделать mail("[email protected]", "Subject", "Content", "From: [email protected]")
(это последний параметр, который важен).
- person Donald Duck; 28.08.2019
Вам нужен SMTP-сервер для отправки почты. Если у вас есть доступный, который не требует аутентификации SMTP (может быть, вашего интернет-провайдера?), просто отредактируйте настройку «SMTP» ([почтовая функция]) в вашем файле php.ini.
Если это не вариант, потому что ваш SMTP-сервер требует аутентификации, вы не сможете использовать внутреннюю функцию mail() и должны использовать какой-то сторонний класс, который поддерживает аутентификацию smtp. например http://pear.php.net/package/Mail/
Я попробовал Test Mail Server Tool, и хотя он отлично работал, вам все равно нужно открыть электронную почту на каком-то клиенте.
Я нашел Papercut: https://papercut.codeplex.com/
Для настройки это просто, как Test Mail Server Tool (практически без настроек), и он также служит почтовым клиентом с представлениями для Message (отлично подходит для электронных писем в формате HTML), Headers strong>, Body (для проверки HTML) и Raw (полное непроанализированное электронное письмо).
Он также имеет вид Разделы, чтобы разделить различные типы мультимедиа, найденные в электронной почте.
Он имеет очень чистый и дружественный пользовательский интерфейс, хорошее средство просмотра журнала и дает вам уведомления, когда вы получаете электронное письмо.
Я нахожу это идеальным, поэтому я просто хотел дать 2c и, возможно, кому-то помочь.
Sendmail у меня не работал, поэтому я использовал msmtp 1.6.2 w32 и большинство просто следовали инструкциям на странице На стороне разработчика. Вот краткое изложение установки для потомков:
Включен доступ по протоколу IMAP под вашей учетной записью Gmail (с которой msmtp отправляет электронные письма)
Разрешить доступ для менее безопасных приложений. Войдите в свой аккаунт Google и перейдите здесь
Изменить php.ini
, найдите и измените каждый параметр ниже, чтобы отразить следующее:
; These are commented out by prefixing a semicolon
;SMTP = localhost
;smtp_port = 25
; Set these paths to where you put your msmtp files.
; I used backslashes in php.ini and it works fine.
; The example in the devside guide uses forwardslashes.
sendmail_path = "C:\wamp64\msmtp\msmtp.exe -d -C C:\wamp64\msmtp\msmtprc.ini -t --read-envelope-from"
mail.log = "C:\wamp64\msmtp\maillog.txt"
Создайте и отредактируйте файл msmtprc.ini
в том же каталоге, что и ваш файл msmtp.exe
, следующим образом, заменив его своим адресом электронной почты и паролем:
# Default values for all accounts
defaults
tls_certcheck off
# I used forward slashes here and it works.
logfile C:/wamp64/msmtp/msmtplog.txt
account Gmail
host smtp.gmail.com
port 587
auth on
tls on
from [email protected]
user [email protected]
password ReplaceWithYourPassword
account default : gmail
msmtp-1.6.2-w32.zip
sourceforge.net/projects/msmtp/ файлы /msmtp/1.6.2
- person iyrin; 15.06.2019
Я использовал Mercury/32 и Pegasus Mail, чтобы получить функциональность mail(). Он также отлично работает в качестве почтового сервера, если вы хотите, чтобы адрес электронной почты заканчивался вашим доменным именем.