2009-03-01 1 views
43

Я хочу использовать функцию mail() с моего localhost. У меня установлен WAMP и учетная запись Gmail. Я знаю, что SMTP для Gmail - smtp.gmail.com, а порт - 465 (more info from gmail). Что мне нужно настроить в WAMP, чтобы я мог использовать функцию mail()?Как настроить WAMP (localhost) для отправки электронной почты с помощью Gmail?

Спасибо!

ответ

27

Серверы Gmail используют аутентификацию SMTP под SSL или TLS. Я думаю, что нет никакого способа, чтобы использовать функцию mail() под что обстоятельства, так что вы можете проверить эти альтернативы:

все они поддерживают SMTP auth под SSL.

Вам необходимо включить расширение php_openssl в php.ini.

Дополнительные ресурсы:

+0

Большое спасибо! – Jonathan

+1

Не могли бы вы сказать мне точное место, где разместить $ host = "ssl: //smtp.gmail.com"; $ port = 465; .? Thanks –

1

Я уверен, что для этого потребуется также учетные данные SMTP.

2

я знаю, в XAMPP я могу настроить sendmail.ini для пересылки локальной электронной почты. необходимо установить

smtp_sever 
smtp_port 
auth_username 
auth_password 

это работает при использовании моего собственного сервера, а не GMAIL поэтому не могу сказать наверняка, вы бы никаких проблем

11

Если открыть файл php.ini в WAMP, вам найти эти две строки:

smtp_server 
smtp_port 

Добавить сервер и номер порта для хоста (возможно, вам необходимо связаться с ними для более подробной информации)

следующие две строки не существуют:

auth_username 
auth_password 

Поэтому вам нужно будет добавить их, чтобы отправлять почту с сервера, для которого требуется аутентификация. Таким образом, пример может быть:

smtp_server = mail.example.com 
smtp_port = 26 
auth_username = [email protected] 
auth_password = example_password 
+1

Не проверено, но это, вероятно, неправильно. Для PHP нет таких директив, как указано выше (кроме 'smtp_port'). См. Также http://stackoverflow.com/a/21891895/3827190 в качестве ссылки. – Kubo2

2

использовать stunnel на вашем сервере, чтобы отправить его с помощью gmail. погугли это.

2

Это довольно просто.(Адаптивный синтаксис для вашего удобства)

public $smtp = array(
    'transport' => 'Smtp', 
    'from' => '[email protected]', 
    'host' => 'ssl://smtp.gmail.com', 
    'port' => 465, 
    'timeout' => 30, 
    'username' => '[email protected]', 
    'password' => '*****' 
) 
2

Нравится ли вам библиотека Zend?

$config = array('auth' => 'login', 
        'ssl' => 'ssl', 
        'port'=> 465, 
        'username' => '[email protected]', 
        'password' => 'XXXXXXX'); 

$transport = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config); 
$mail = new Zend_Mail(); 
$mail->setBodyText('This is the text of the mail.'); 
$mail->setFrom('[email protected]', 'Some Sender'); 
$mail->addTo('[email protected]', 'Some Recipient'); 
$mail->setSubject('TestSubj'); 
$mail->send($transport); 

Это моя настройка на сервере localhost, и я могу видеть входящую почту в свой почтовый ящик.

13

[Использование hMailServer]
После установки, вам необходимо добавить следующую конфигурацию, чтобы правильно отправить почту из WampServer:

1) When you first open hMailServer Administrator, you need to add a new domain. 
2) Click on the "Add Domain ..." button at the Welcome page. 
3) Under the domain text field, enter your computer's IP, in this case it should be 127.0.0.1. 
4) Click on the Save button. 
5) Go to Settings>Protocols>SMTP and select "Delivery of Email" tab 
6) Enter "localhost" in the localhost name field. 
7) Click on the Save button. 

Если вам нужно отправить почту с помощью FROM адресатом другого компьютера, вам нужно разрешить доставку из внешних внешних счетов. Чтобы сделать это, выполните следующие действия:

1) Go to Settings>Advanced>IP Ranges and double click on "My Computer" which should have IP address of 127.0.0.1 
2) Check the Allow Deliveries from External to External accounts checkbox. 
3) Save settings using Save button. 

(. Тем не менее, Windows Live/Hotmail отрицают все письма, приходящие от динамических IP-адресов, которые большинство жилых компьютеров используют Обойти это использовать учетную запись Gmail)

Чтобы использовать учетную запись Gmail:

1) Go to Settings>Protocols>SMTP and select "Delivery of Email" tab 
2) Enter "smtp.gmail.com" in the Remote Host name field. 
3) Enter "465" as the port number 
4) Check "Server requires authentication" 
5) Enter gmail address in the Username 
6) Enter gmail password in the password 
7) Check "Use SSL" 

(Примечание: "Из" функции поля не суммируется и не с Gmail)


* p.s. в редких случаях может быть необходимо убрать галочку все под require SMTP authentication в:

  • для локального: Настройки> Дополнительно> IP-диапазона> «Мой компьютер»
  • для внешнего: Настройки> Дополнительно> Диапазоны IP> «Интернет»
+2

Мне нужно добавить эту инструкцию перед утечкой памяти. – Charlesliam

+1

Следуя этим инструкциям, отлично работает с hmailserver 5.6.4 и учетной записью gmail. Если вы получите сообщение об ошибке «530 SMTP-аутентификация требуется», вам необходимо следовать последнему показанию (p.s.) – Zimmi

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