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

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

Ответ 1

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

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

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

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

Ответ 2

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

Ответ 3

Используя вызов программы с открытым исходным кодом Отправить почту, вы можете отправить через wamp довольно легко на самом деле. Я все еще настраиваю его, но здесь отличный учебник от jo jordan. Требуется установка менее 2 минут.

Просто попробовал, и это сработало как шарм! Как только я раскомментировал журнал ошибок и узнал, что он останавливается на аутентификации поп3, я просто удалил это и отправил красиво. Удачи!

Ответ 4

Для отправки почты вам нужен SMTP-сервер. Если у вас есть один доступный, который не требует аутентификации SMTP (возможно, у вашего интернет-провайдера?), Просто отредактируйте параметр "SMTP" ([mail function]) в файле php.ini.

Если это не опция, потому что ваш SMTP-сервер требует аутентификации, вы не сможете использовать внутреннюю функцию mail() и должны использовать какой-то сторонний класс, который поддерживает smtp auth. например http://pear.php.net/package/Mail/

Ответ 5

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

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

Для конфигурации это просто, как Test Mail Server Tool (pratically zero-conf), а также служит почтовым клиентом, с представлениями для Message (отлично подходит для электронных писем HTML), Заголовки, Тело (для проверки HTML) и Необработанные (полный непроверенный адрес электронной почты).

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

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

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

Ответ 6

Sendmail не работал у меня, поэтому я использовал msmtp 1.6.2 w32, и большинство из них просто следуло инструкциям в DeveloperSide. Вот краткое описание установки для потомков:

Включен доступ к 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

Ответ 7

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