WAMP отправлять почту с использованием SMTP localhost
Мне нужно использовать PHP mail()
функция для отправки почты с локального SMTP (с использованием Wamp,Xampp или т. д.).
Кто-нибудь может дать учебник?
6 ответов
Кажется невозможным включить все части в мой пост, вместо этого я укажу на инструкции:
используя HMailServer: /questions/41101807/kak-nastroit-wamp-localhost-dlya-otpravki-elektronnoj-pochtyi-s-pomoschyu-gmail/41101826#41101826
используя различные методы: /questions/6145195/nastrojte-server-wamp-dlya-otpravki-elektronnoj-pochtyi/6145220#6145220
используя файлы SendMail: http://blog.techwheels.net/send-email-from-localhost-wamp-server-using-sendmail/
(должен работать на WAMP, XAMPP или что-нибудь...)
Вот шаги для достижения этого:
Загрузите sendmail.zip по этой ссылке
- Теперь извлеките папку и поместите ее в C:/wamp/. Убедитесь, что присутствуют эти четыре файла: sendmail.exe, libeay32.dll, ssleay32.ddl и sendmail.ini.
Откройте sendmail.ini и настройте конфигурацию следующим образом:
smtp_server = smtp.gmail.com
- smtp_port = 465
- smtp_ssl = SSL
- default_domain = локальный
- error_logfile = error.log
- debug_logfile = debug.log
- auth_username = [your_gmail_account_username] @ gmail.com
- auth_password = [your_gmail_account_password]
- pop3_server =
- pop3_username =
- pop3_password =
- force_sender =
- force_recipient =
имя хоста = локальный
Доступ к вашей учетной записи электронной почты. Нажмите Gear> Настройки> Пересылка и POP/IMAP > Доступ по IMAP. Нажмите "Включить IMAP", затем сохраните изменения.
Запустите свой сервер WAMP. Включите модуль ssl_module в модуле Apache.
Затем включите php_openssl и php_sockets в PHP.
Откройте php.ini и настройте его, как показано ниже. По сути, вам просто нужно установить sendmail_path.
[mail function] ; For Win32 only. ; http://php.net/smtp ;SMTP = ; http://php.net/smtp-port ;smtp_port = 25 ; For Win32 only. ; http://php.net/sendmail-from ;sendmail_from = you@domain.com ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ; http://php.net/sendmail-path sendmail_path = "C:\wamp\sendmail\sendmail.exe -t -i"
- Перезагрузите Wamp-сервер
Я надеюсь, что это будет работать для вас..
Вы можете использовать эту библиотеку для отправки электронной почты, если возникли проблемы с локальным xampp, wamp...
class.phpmailer.php, class.smtp.php Запишите этот код в файл, где ваша функция электронной почты вызывает
include('class.phpmailer.php');
$mail = new PHPMailer();
$mail->IsHTML(true);
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
$mail->Username = "your email ID";
$mail->Password = "your email password";
$fromname = "From Name in Email";
$To = trim($email,"\r\n");
$tContent = '';
$tContent .="<table width='550px' colspan='2' cellpadding='4'>
<tr><td align='center'><img src='imgpath' width='100' height='100'></td></tr>
<tr><td height='20'> </td></tr>
<tr>
<td>
<table cellspacing='1' cellpadding='1' width='100%' height='100%'>
<tr><td align='center'><h2>YOUR TEXT<h2></td></tr/>
<tr><td> </td></tr>
<tr><td align='center'>Name: ".trim(NAME,"\r\n")."</td></tr>
<tr><td align='center'>ABCD TEXT: ".$abcd."</td></tr>
<tr><td> </td></tr>
</table>
</td>
</tr>
</table>";
$mail->From = "From email";
$mail->FromName = $fromname;
$mail->Subject = "Your Details.";
$mail->Body = $tContent;
$mail->AddAddress($To);
$mail->set('X-Priority', '1'); //Priority 1 = High, 3 = Normal, 5 = low
$mail->Send();
Вы можете напрямую отправлять почту из функции php mail(), если вы указали сервер smtp и порт smtp в php.ini, сначала запросите учетные данные SMTP-сервера у вашего интернет-провайдера.
SMTP = smtp.wlink.com.np //put your ISP's smtp server
smtp_port = 25 // your ISP's smtp port.
затем просто перезапустите сервер Apache, и он начнет работать. Наслаждаться...
Я предпочитаю использовать скрипт PHPMailer для отправки электронных писем с локального хоста, поскольку он позволяет мне использовать мою учетную запись Gmail в качестве SMTP. Вы можете найти PHPMailer по адресу http://phpmailer.worxware.com/. Справку о том, как использовать gmail в качестве SMTP или любого другого SMTP, можно найти по адресу http://www.mittalpatel.co.in/php_send_mail_from_localhost_using_gmail_smtp. Надеюсь это поможет!
Если кто-то из вас получает сообщение об ошибке, например, после следующего ответа от Afwe Wef
Warning: mail() [<a href='function.mail'>function.mail</a>]: SMTP server response:
550 The address is not valid. in c:\wamp\www\email.php
Перейти на php.ini
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = valideaccount@gmail.com
Введите valideaccount@gmail.com в качестве идентификатора электронной почты, который вы использовали для настройки hMailserver перед sendmail_from.
Ваша проблема будет решена.
Протестировано на Wamp server2.2(Apache 2.2.22, php 5.3.13) на Windows 8
Если вы также получаете следующую ошибку
"APPLICATION" 6364 "2014-03-24 13:13:33.979" "SMTPDeliverer - Message 2: Relaying to host smtp.gmail.com."
"APPLICATION" 6364 "2014-03-24 13:13:34.415" "SMTPDeliverer - Message 2: Message could not be delivered. Scheduling it for later delivery in 60 minutes."
"APPLICATION" 6364 "2014-03-24 13:13:34.430" "SMTPDeliverer - Message 2: Message delivery thread completed."
Возможно, вы забыли изменить порт с 25 на 465