Можно ли отправлять почту в основном php через gmail smtp без использования какого-либо внешнего класса?
использование core php mail() для отправки через gmail SMTP
Ответы (5)
Я не думаю, что это возможно, потому что вам нужно выполнить аутентификацию. Кроме того, вам нужно подключиться через сокет SSL, я не знаю, поддерживает ли это стандартная функция mail()
.
Если вы хотите использовать пакет Pear Mail, вы можете взглянуть в этот:
Отправка электронной почты с помощью SMTP-сервера GMail со страницы PHP
Об этом много недопонимания. На 100% можно отправлять электронные письма с помощью gmail с помощью простой команды PHP «mail ()». И это на 100 % просто.
Установите SSMTP:
sudo apt-get install ssmtp
Изменить файл настроек:
sudo nano /etc/ssmtp/ssmtp.conf
Внутри сделайте его похожим на этот, но со своими учетными данными:
mailhub=smtp.gmail.com:587
[email protected]
AuthPass=password
UseSTARTTLS=YES
# You can only do this if you've verified your domain with Gmail.
# If you haven't, delete, or add a # before this
hostname=yourwebsite.com
FromLineOverride=YES
Наконец, откройте файл php.ini, найдите sendmail_path и используйте это значение:
sendmail_path = /usr/sbin/ssmtp -t
Вот и все! Проверьте это на своем PHP с помощью простой функции электронной почты в одну строку:
mail('[email protected]', 'Subject', 'Message', 'From: Your name <[email protected]>');
Обновление безопасности Gmail
Теперь Gmail блокирует это по умолчанию. Вы по-прежнему можете сделать это, посетив: http://www.google.com/settings/security/lesssecureapps
Включите эту функцию ВКЛ.
You can only do this if you've verified your domain with Gmail.
? Это связано с gmail или мы можем что-то сделать, чтобы подтвердить наш домен в gmail?
- person VSB; 30.08.2014
Это возможно, хотя вам необходимо изменить настройки php.ini, см. Руководство по PHP. Вы можете изменить настройки php.ini во время выполнения с помощью ini_set.
Если у вас есть доступ для редактирования php.ini
, вы можете сделать что-то вроде этого:
[mail function]
SMTP = ssl://smtp.gmail.com
smtp_port = 465
username = [email protected]
password = myemailpassword
sendmail_from = [email protected]
В качестве альтернативы вы можете сделать:
<?php
ini_set( 'smtp_port', 465 );
//etc
вы можете сделать это с помощью библиотеки PHPmailer, в которой уже есть файл gmail.php.
просто откройте и поместите свою информацию в этот файл, вы также можете использовать аналогичный код в своем файле.
Вы должны сделать настройку в настройках своей учетной записи gmail, чтобы разрешить smtp-рассылку
mail()
вместо включения библиотеки на 600 строк. - person gavanon   schedule 26.01.2015