Как настроить WAMP (localhost) для отправки электронной почты с помощью Gmail? - PullRequest
45 голосов
/ 02 марта 2009

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

Спасибо !!

Ответы [ 9 ]

28 голосов
/ 02 марта 2009

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

Все они поддерживают SMTP-аутентификацию по SSL.

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

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

14 голосов
/ 29 мая 2013

Я ответил, что здесь: (WAMP / XAMP) отправляет почту, используя SMTP localhost (работает не только GMAIL, но и для других).

11 голосов
/ 01 августа 2009

Если вы откроете файл php.ini в wamp, вы найдете следующие две строки:

smtp_server
smtp_port

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

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

auth_username
auth_password

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

smtp_server = mail.example.com
smtp_port = 26
auth_username = example_username@example.com
auth_password = example_password
3 голосов
/ 18 апреля 2013

В качестве альтернативы PHPMailer, Pear's Mail и другим вы можете использовать библиотеку Zend

  $config = array('auth' => 'login',
                   'ssl' => 'ssl',
                   'port'=> 465,
                   'username' => 'XXXX@gmail.com',
                   '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('XXXX@gmail.com', 'Some Sender');
 $mail->addTo('kazifriend@gmail.com', 'Some Recipient');
 $mail->setSubject('TestSubj');
 $mail->send($transport); 

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

3 голосов
/ 10 апреля 2013

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

public $smtp = array(
    'transport' => 'Smtp',
    'from' => 'your_email@gmail.com',
    'host' => 'ssl://smtp.gmail.com',
    'port' => 465,
    'timeout' => 30,
    'username' => 'your_email@gmail.com',
    'password' => '*****'
)
2 голосов
/ 27 апреля 2010

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

2 голосов
/ 02 марта 2009

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

smtp_sever
smtp_port
auth_username
auth_password

это работает при использовании моего собственного сервера, а не gmail, поэтому точно не могу сказать, что у вас не возникнет проблем

1 голос
/ 01 марта 2011

PEAR: Mail работал для меня, отправляя сообщения электронной почты из Gmail. Также очень помогли инструкции: Как отправить письмо из скрипта PHP с использованием SMTP-аутентификации (с помощью PEAR :: Mail) Спасибо, CMS!

1 голос
/ 02 марта 2009

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

...