WAMP отправлять почту с использованием SMTP localhost

Мне нужно использовать PHP mail() функция для отправки почты с локального SMTP (с использованием Wamp,Xampp или т. д.).

Кто-нибудь может дать учебник?

6 ответов

Кажется невозможным включить все части в мой пост, вместо этого я укажу на инструкции:

(должен работать на 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'>&nbsp;</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>&nbsp;</td></tr>
                <tr><td align='center'>Name: ".trim(NAME,"\r\n")."</td></tr>
                <tr><td align='center'>ABCD TEXT: ".$abcd."</td></tr>
                <tr><td>&nbsp;</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

Другие вопросы по тегам