Настройка sendmail для отправки почты через Gmail
На днях понадобилось настроить отправку писем при помощи PHP, раньше необходимости в этом не было, так что и настроено не было тоже. Как известно, PHP-функция 
 
 
 
 
P.S. Это перевод вот этого поста с дополнениями. Также существует более свежая его версия здесь. Там добавлена конфигурация SSL-сертификатов для Gmail. Я этого делать не стал, потому что всё работает и так. P.P.S. На самом деле работает не совсем всё, что должно: не получается писать произвольный email в заголовке письма
 
 
mail() сама не отправляет почту, а лишь передаёт составленное письмо программе MTA (агенту передачи почты), и так как собственного SMTP-сервера у меня нет, для отправки писем я пользуюсь Gmail. В качестве MTA решил использовать стандартный sendmail. О том, как всё это настроить и связать вместе — далее.  Для начала убедитесь, что у вас установлен именно sendmail (а не exim4 или другой MTA), сделать это можно так:  ls -la `which sendmail` lrwxrwxrwx 1 root root 26 2011-01-17 19:58 /usr/sbin/sendmail -> /etc/alternatives/sendmail  Потому что в свежих убунтах вроде как устанавливается именно exim4. По крайней мере у меня оказался он.  Настройка sendmail
Правка /etc/mail/sendmail.mc добавьте следующие строки в конец файла, но ДО группы опцийMAILER*:  define(`SMART_HOST',`smtp.gmail.com:465') define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl FEATURE(`authinfo',`hash /etc/mail/auth/client-info')dnl  обратите внимание на разные кавычки вокруг значений — это не ошибка!  создайте файл /etc/mail/auth/client-info:  AuthInfo:smtp.gmail.com "U:nobody" "I:USERNAME@gmail.com" "P:PASSWORD"   Права и применение конфигов:  chmod 600 /etc/mail/auth/* sendmailconfig   Настройка PHP
Посмотрите выводphpinfo(), должна быть директива sendmail_path = /usr/sbin/sendmail -t -i если это не так, исправьте в php.ini в секции [mail function], и не забудьте перезапустить Apache.  Проверка
Используйте примерно такой код:    Если письмо не отправилось, смотрите лог sendmail в /var/log/mail.log  P.S. Это перевод вот этого поста с дополнениями. Также существует более свежая его версия здесь. Там добавлена конфигурация SSL-сертификатов для Gmail. Я этого делать не стал, потому что всё работает и так. P.P.S. На самом деле работает не совсем всё, что должно: не получается писать произвольный email в заголовке письма
From: Но, скорее всего, это проблема конкретно моего сервера, если я это решу, текст будет дополнен. 
Комментарии
Отправить комментарий