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

StackOverflow https://stackoverflow.com/questions/600725

  •  03-07-2019
  •  | 
  •  

Вопрос

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

Спасибо!!

Это было полезно?

Решение

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

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

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

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

Другие советы

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

Если вы откроете файл 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

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

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' => '*****'
)

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

  $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); 

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

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

smtp_sever
smtp_port
auth_username
auth_password

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

используйте stunnel на своем сервере для отправки через Gmail.погугли это.

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top