Подтвердить что ты не робот

WAMP отправляет почту с помощью SMTP localhost

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

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

4b9b3361

Ответ 1

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

(должен работать на WAMP, XAMPP или что-то еще...)

Ответ 2

Вот шаги для достижения этого:

  • Загрузите 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 Tool > Settings > Forwarding и POP/IMAP > IMAP. Нажмите "Включить IMAP", а затем сохраните изменения.

    • Запустите свой WAMP-сервер. Включить ssl_module в модуле Apache.

    • Затем включите php_openssl и php_sockets под PHP.

    • Откройте php.ini и настройте его как коды ниже. В принципе, вам просто нужно установить путь sendmail_.

[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 = [email protected]
; 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 Server

Я надеюсь, что это сработает для вас.

Ответ 3

Вы можете использовать эту библиотеку для отправки электронной почты, если проблема с локальным 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();

Ответ 4

вы можете напрямую отправлять почту из функции php mail(), если вы указали smtp-сервер и smtp-порт в php.ini, сначала спросите SMTP-сервер учетных данных для вашего интернет-провайдера.

SMTP = smtp.wlink.com.np //put your ISP smtp server

smtp_port = 25 // your ISP smtp port.

то просто перезапустите сервер Apache и он начнет работать. ENjoy...

Ответ 5

Если кто-либо из вас получает ошибку, как после следующего ответа, указанного 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 = [email protected]

Введите [email protected] в качестве идентификатора вашего e-mail, который вы использовали для настройки hMailserver перед sendmail_from.

ваша проблема будет решена.

Протестировано на сервере Wamp2.2 (Apache 2.2.22, php 5.3.13) на окнах 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

Ответ 6

Я предпочитаю использовать PHPMailer script для отправки электронной почты с localhost, поскольку он позволяет мне использовать мою учетную запись Gmail как SMTP. Вы можете найти PHPMailer из http://phpmailer.worxware.com/. Помощь относительно использования gmail как SMTP или любого другого SMTP можно найти в http://www.mittalpatel.co.in/php_send_mail_from_localhost_using_gmail_smtp. Надеюсь, это поможет!