Настройте сервер WAMP для отправки электронной почты

Есть ли способ настроить сервер WAMP для PHP, чтобы включить функцию mail()?


person user544079    schedule 24.04.2011    source источник
comment
здесь по-разному: stackoverflow.com /вопросы/16830673/   -  person T.Todua    schedule 23.11.2019


Ответы (7)


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

Если вы просто хотите протестировать, вот отличный инструмент для локального тестирования почты, который практически не требует настройки:

http://www.toolheap.com/test-mail-server-tool/

Это сработало сразу для меня, надеюсь, это поможет вам.

person Wesley Murch    schedule 24.04.2011
comment
Работает с wamp без каких-либо настроек. Просто откройте .eml с почтой Windows Live (настройка не требуется). - person Benjamin Crouzier; 28.01.2013
comment
Работа на Win7, работа с WAMP сразу после установки - person Muhammad Ahsan; 09.06.2014
comment
Если (как и я) вы пришли к этому замечательному решению после настройки php.ini, помните конфигурацию по умолчанию: [почтовая функция] SMTP = localhost smtp_port = 25 - person BenL; 12.12.2014
comment
Мой файл php.ini настроен правильно, но я не получаю электронные письма в указанной папке после настройки этого инструмента на win 8.1. Что я делаю неправильно!? - person not_a_generic_user; 20.12.2014
comment
Это отличное решение, но у меня проблемы с производительностью. Кажется, что чем больше контента содержит письмо, тем медленнее оно будет доходить до меня. У кого-нибудь есть решение, может быть, это просто мой стареющий компьютер? - person Vael Victus; 20.01.2015
comment
Работает и на Windows 8.1, установил это для тестирования почты с использованием сервера wamp. - person Vamsi Tallapudi; 11.03.2015
comment
Вау, полезно, установил без настройки за 2 минуты, обновил мою страницу, и бум, сообщение об ошибке исчезло, и я получил электронное письмо на своем рабочем столе. - person Andrew; 11.10.2015
comment
Это замечательный инструмент, и он очень помогает разработчикам. Мы обнаружили проблему с ним в том, что он НЕ обрабатывает случай, когда . присутствует в нулевом столбце логической записи, отправляемой на SMTP. Zend форматирует наше электронное письмо и правильно добавляет точку в строку, когда логическое начало строки (каждый 75-й символ, я думаю) уже является точкой. Это даже прокомментировано в коде протокола Zend. Это означает, что если символ в логической позиции 0 каждой строки является точкой, то инструмент тестового сервера не обрабатывает его должным образом, и в электронном письме, полученном конечным пользователем, появляется дополнительная точка. - person bill; 05.04.2016
comment
У меня сработало блестяще, используя WAMP 4 на Win10. Спасибо Уэсли! - person nickstaw; 07.02.2017
comment
Как ты его скачал? Я вижу только рекламу Google в разделе загрузки. - person qwertzman; 14.01.2019
comment
для тех, кто не находит ссылку для загрузки, перейдите сюда: toolheap.com /test-mail-server-tool/users-manual.html - person SolidSnake; 10.02.2019
comment
Это то, что я называю хорошим программным обеспечением. Спустя 10 лет он все еще работает без какой-либо настройки на Win 10. - person Varin; 25.02.2019
comment
Хотел бы я знать об этом несколько лет назад, лол. Все еще работает с Wamp, Win 10. - person Second2None; 31.03.2019
comment
Для тех, кто хочет загрузить это, не отключая блокировку рекламы, вот ссылка для скачивания: toolheap .com/test-mail-server-tool/TestMailServerToolSetup.exe - person Donald Duck; 28.08.2019
comment
@BenL localhost не работал у меня как smtp. Мне пришлось использовать IP-адрес 127.0.0.1 - person I Want Answers; 15.03.2020

Установите 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, и это все, что вам нужно сделать.

person gianjey    schedule 26.06.2012
comment
+1 за готовое решение. В качестве дополнительного ресурса для тех, кому нужна более подробная информация о шагах: blog.techwheels.net/ - person Prusprus; 17.02.2014
comment
@gianjey Будет ли это работать с другими учетными записями, такими как Hotmail, или вам нужна зарегистрированная учетная запись Gmail, чтобы использовать это? - person Ryman Holmes; 06.04.2014
comment
черт возьми, этот метод больше не работает ... если я все настроил правильно - person Banning; 05.11.2014
comment
Привет @Banning, я смог без труда настроить это только сейчас, поэтому оно все еще работает. Убедитесь, что в учетной записи GMail не настроена двухэтапная аутентификация. В любом случае, это было хорошее руководство — blog.techwheels .net/ - person faludi; 25.11.2014
comment
Я получил сообщение об успешной электронной почте, но почта не получена в моем почтовом ящике. любая помощь? - person Wasim A.; 27.12.2014
comment
Я получаю это сообщение в Gmail: Кто-то только что пытался войти в вашу учетную запись Google *******@gmail.com из приложения, которое не соответствует современным стандартам безопасности.: - person Flion; 08.01.2016
comment
Не могу поверить, что это сработало с первого раза!!! так невероятно. Единственная часть, которая меня смутила, это то, что если вы используете gmail, вам нужно ввести имя пользователя и пароль gmail, чтобы он мог войти в почтовый клиент, чтобы ОТПРАВИТЬ электронное письмо. ПРИМЕЧАНИЕ. Если вы собираетесь это сделать, создайте новую учетную запись Gmail, так как это увеличивает риск угрозы безопасности. - person William Howley; 29.09.2016

Используя вызов программы с открытым исходным кодом Send Mail, вы можете довольно легко отправлять через wamp. Я все еще настраиваю его, но вот отличное руководство Джо Джордана. Настройка занимает менее 2 минут.

Только что попробовал, все работает! Как только я раскомментировал журнал ошибок и обнаружил, что он зависает при проверке подлинности pop3, я просто удалил это, и все было хорошо отправлено. Удачи!

person David Hobs    schedule 08.09.2012
comment
Если вы используете учетную запись Gmail, вам необходимо разрешить доступ для менее безопасных приложений. Для этого, когда вы сделаете то, что сказано в руководстве, указанном в этом ответе, и откроете страницу PHP с помощью mail, вы получите электронное письмо от Google, в котором говорится, что попытка входа заблокирована. В этом письме нажмите «Проверить активность», а на открывшейся странице нажмите «Да, это был я», затем нажмите «Подробнее», затем нажмите «Если для вашей учетной записи отключен менее безопасный доступ к приложению», затем нажмите «Включить». снова включите его, а затем включите переключатель. - person Donald Duck; 28.08.2019
comment
Кроме того, вы должны указать заголовок 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/

person mwallisch    schedule 24.04.2011

Я попробовал Test Mail Server Tool, и хотя он отлично работал, вам все равно нужно открыть электронную почту на каком-то клиенте.

Я нашел Papercut: https://papercut.codeplex.com/

Для настройки это просто, как Test Mail Server Tool (практически без настроек), и он также служит почтовым клиентом с представлениями для Message (отлично подходит для электронных писем в формате HTML), Headers, Body (для проверки HTML) и Raw (полное непроанализированное электронное письмо).

Он также имеет вид Разделы, чтобы разделить различные типы мультимедиа, найденные в электронной почте.

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

Я нахожу это идеальным, поэтому я просто хотел дать 2c и, возможно, кому-то помочь.

person Fábio Duque Silva    schedule 31.12.2016

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
person iyrin    schedule 28.03.2017
comment
Я не мог установить msmtp на Windows. Я могу найти только файлы tar. - person Oussama Essamadi; 28.05.2019
comment
Попробуйте ссылку в моем ответе и загрузите msmtp-1.6.2-w32.zip sourceforge.net/projects/msmtp/ файлы /msmtp/1.6.2 - person iyrin; 15.06.2019

Я использовал Mercury/32 и Pegasus Mail, чтобы получить функциональность mail(). Он также отлично работает в качестве почтового сервера, если вы хотите, чтобы адрес электронной почты заканчивался вашим доменным именем.

person ZeldaBoy    schedule 06.10.2017