Отправка писем с помощью WAMP
Я использую последний WAMP, и я получаю это, когда пытаюсь отправить электронные письма:
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\main\createaccount.php on line 8
Ошибка доставки сообщений...
Сообщение:
$to = "[email protected]";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";
if (mail($to, $subject, $body)) {
echo("<p>Message successfully sent!</p>");
} else {
echo("<p>Message delivery failed...</p>");
}
Вам также нужно скачать "почтовый сервер"?
Пожалуйста, помогите.
Ответы
Ответ 1
Это работает для меня и должно работать для вас: используйте Fake Sendmail и почтовый сервер веб-хостинга (например, Godaddy, 1and1 и т.д.)..
1.) Загрузите почтовый ящик sendmail и извлеките его в C:\Wamp\bin\sendmail (для целей этого примера).
2.) Отредактируйте C:\wamp\bin\sendmail\sendmail.ini и установите следующие требования к вашему почтовому серверу (мои ниже):
smtp_server=mail.yourdomain.com
smtp_port=26
smtp_ssl=none
;default_domain=yourdomain.com
[email protected]
auth_password=smtppassword
;pop3_server=
;pop3_username=
;pop3_password=
;force_sender=
;force_recipient=
3.) Задайте путь для sendmail.exe в файле php.ini.
[mail function]
; For Win32 only.
SMTP =
; For Win32 only.
sendmail_from =
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = "C:\wamp\bin\sendmail\sendmail.exe -t"
4.) Перезапустите Wampserver.
У вас может быть успех с помощью Gmail, но есть несколько дополнительных настроек, чтобы заставить его работать. Я предпочитаю использовать почтовый сервер веб-хостинга, где я загружаю свой код.
Ответ 2
У вас не работает SMTP-сервер на вашем компьютере, но вам этого не нужно. Просто установите SMTP на открытый SMTP-сервер, например:
ini_set('SMTP', 'smtp.yourisp.com');
Взгляните на домашнюю страницу вашего провайдера или http://www.e-eeasy.com/SMTPServerList.aspx для списка SMTP-серверов.
Если у вас есть почтовая программа для рабочего стола, вы можете использовать тот же адрес, что и для исходящей почты.
Ответ 3
Я думаю, что ваш сервер исходящей почты вашего почтового сервера (SMTP) не настроен в вашем файле php.ini.
Посмотрите на это:
http://email.about.com/od/emailprogrammingtips/qt/Configure_PHP_to_Use_a_Remote_SMTP_Server_for_Sending_Mail.htm
Также hotmail не позволяет использовать свои почтовые серверы. Вы должны использовать yahoo или gmail.
Ответ 4
Вы уверены, что на этих серверах установлена почтовая программа? Если нет, то ваша проблема. Например, XAMPP поставляется с почтовой программой Mercury, которую вы должны запустить, прежде чем отправлять почту через сервер.
Ответ 5
Следуйте этой статье, она работает, если у вас есть учетная запись gmail.
или, по крайней мере, любую учетную запись электронной почты, в которой вы знаете сервер, порт и этот материал.
Отправить письмо с localhost
Ответ 6
ХРАНИТЕ В РАЗУМ, каждый раз, после изменения php.ini,
вы должны перезапустить wamp (!!!)
p.s. в php.ini я использовал:
SMTP = localhost
smtp_port = 25
sendmail_from = [email protected]
или если oyu cant отредактирует php.ini, попробуйте вставить эти строки в свой php script.
ini_set("SMTP", "localhost");
ini_set("smtp_port", "25");
ini_set("sendmail_from", "[email protected]");