2013-05-30 4 views
27

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

Можно ли дать учебник?

+0

С помощью xampp или wampp вам необходимо настроить ртуть для отправки писем с localhost. Вы запрашиваете конфигурацию? – Ahmed

+0

Работа Techwheels для меня! ':)' –

ответ

1

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

вы можете напрямую отправить почту из функции PHP почты(), если вы указали порт 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 и он начнет работать. Enjoy ...

34

Это кажется невозможным, чтобы включить все детали в моем посте, вместо этого, я буду указывать необходимые учебники::

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

+2

Отличный ответ и работает. Чтобы добавить к этому, мне нужно было в расширенном -> ip-диапазонах -> моем компьютере, чтобы отключить все, что требуется для проверки подлинности SMTP, поскольку у php mail() нет доступных. – realtimez

0

Если какой-либо один из вас получает сообщение об ошибке, как следующий за следующий ответ, данный Afwe ВЭФ

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], как вы r email id, который вы использовали для настройки 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

5

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

  • Загрузить sendmail.zip через link

    • Теперь извлеките папку и поставьте ее на 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_acc ount_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_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 = [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" 
  • Restart Wamp Сервер

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

+1

Я выполнил все ваши шаги, но сервер wamp остановился после включения - ssl_module в Apache. –

0

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

Смежные вопросы