Как настроить WAMP (localhost) для отправки электронной почты с помощью Gmail?
Я хочу использовать функцию mail () со своего локального хоста. У меня установлен WAMP и учетная запись Gmail. Я знаю, что SMTP для Gmail - это smtp.gmail.com, а порт - 465 ( дополнительная информация из Gmail ). Что мне нужно настроить в WAMP, чтобы я мог использовать функцию mail ()?
Спасибо!!
Ответов (9)9
Серверы Gmail используют аутентификацию SMTP с использованием SSL или TLS. Я думаю, что в таких mail()
обстоятельствах нет возможности использовать эту функцию, поэтому вы можете проверить эти альтернативы:
Все они поддерживают аутентификацию SMTP под SSL.
Вам нужно будет включить php_openssl
расширение в вашем php.ini.
Дополнительные ресурсы:
- Как отправить электронное письмо из PHP-скрипта с использованием аутентификации SMTP (используя
PEAR::Mail
) - Отправка электронной почты с помощью PHP с Gmail (с помощью phpMailer )
- Рассылка с использованием
Nette\Mail
В качестве альтернативы PHPMailer, Pear's Mail и другим вы можете использовать библиотеку 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, и я могу видеть входящую почту на свой почтовый ящик.
Все очень просто. (Адаптируйте синтаксис для вашего удобства)
public $smtp = array(
'transport' => 'Smtp',
'from' => '[email protected]',
'host' => 'ssl://smtp.gmail.com',
'port' => 465,
'timeout' => 30,
'username' => '[email protected]',
'password' => '*****'
)
Я ответил на это здесь: (WAMP / XAMP) отправлять почту с использованием SMTP localhost (работает не только GMAIL, но и для других).
Если вы откроете файл 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
ГРУША: Почта работала для меня, отправляя сообщения электронной почты из Gmail. Также очень помогли инструкции: Как отправить электронное письмо из PHP-скрипта с использованием SMTP-аутентификации (с использованием PEAR :: Mail). Спасибо, CMS!