Налаштування smtp для роботи через gmail.com. Як відправити пошту без поштового сервера.

   Більшість веб-майстрів зобов'язані вміти налаштовувати поштову службу, на якому або хосте. Вони, зачастуюв качествепочтовой служби експлуатують сервер sendmail. Але з усіх його можливостей, веб майстра зачіпають тільки відправку повідомлень. Якщо у вас на сервері обмежені ресурси, і не хочеться їх витрачати для того щоб sendmail весь час висі в системі, то можна встановити в систему програму smtp. Дана програма дозволяє відправити пошту точнісінько, як і sendmail, її перевагою перед sendmail є те, що вона зовсім не висить у системі, а запускається автоматично тільки тоді, коли буде необхідно відправити повідомлення

   У цій статті розповідатиметься про те, як можна налаштувати smtp чтоби вона працювала через сервера Google


Як це працює

   Справи йдуть так, що в * NIX-світі найпершою програмою для передачі пошти був sendmail. Даний сервер був дуже довгий час стандартом де-факто.Sendmail- це універсальний комбаин, за допомогою якого можна виконати велику кількість функцій. Він використовує для передачі і прийому пошти протокол SMTP

   Потім, поступово сформувалася концепція MTA (MailTransferAgent). MTA - це спеціальний елемент для передачі пошти, він використовується виключно тільки для процесів відправки поштових повідомлень. Всі програми, які використовують для передачі поштових повідомлень, називають MTA- програмами. 
   Крім sendmail, в системах * NIX началі з'являтися і багато інших MTA программи. До них можна віднести EXIM, postfix, і найважливіша для нас smtp. Але в Linux сістеме вже давно прийнято те, що для передачі поштових повідомлень повинна використовуватися іменно sendmail. Через це, коли в Linux сістему ставиться будь-яка MTA программа, то вона починає створювати файли лінків / usr / sbin / sendmail і / usr / lib / sendmail, вони вказують шлях до потрібної програми. В нижчеподаному прикладі такі файли вказують на програму ssmtp.

$ Cd / usr / sbin
$ Ls -l | grepsendmail
lrwxrwxrwx 1 root root 5 2011-04-07 3:09 sendmail -> ssmtp

   Насправді, програма ssmtp це просто консольний клієнт SMTP, в stdin він може приймати відправлений лист, а також може з'єднатися із зовнішнім сервером SMTP і передавати йому поштові повідомлення. Слідуючи цьому, можна зрозуміти, що ssmtp почті не має відмінностей у порівнянні з іншими поштовими клієнтами, наприклад KMail і Thunderbird.

Важливо звернути увагу:
   Щоб відправити лист зовсім не обов'язково включати на постійну основу обслуговуючий демон (він використовується для прийому листів). Отже, ssmtp це проста програма

   В Linux сістемах під час відправки листів будь-який клієнт (припустимо інтерпретатор PHP) за замовчуванням починає виконувати програму / usr / sbin / sendmail, відправляючи через звичайний потік текст листа і заголовки. У нашому випадку це просто лінк, і він вказує шлях на програму ssmtp. Через це пошта відправлятиметься за допомогою ssmtp


Як його налаштувати.


   Отже, для початку потрібно завести поштовий ящик Gmail. Листи, які будуть розсилатися через ssmtp, почнуть приходити адресату від імені ящика Googlemail
Припустимо, у нас вже є поштовий ящик ssmtpmail@gmail.com. Почнемо налаштовувати клієнт за допомогою даного ящика
Для початку встановіть програму ssmtp. Якщо у вас Debian то для цього використовується команда

$ Sudoapt-get install ssmtp

Після того, як ми встановили її, необхідно налаштувати файл /etc/ssmtp/ssmtp.conf. Він повинен виглядати так, для того щоб ssmtp працював через GoogleMail

root=myemail@gmail.com

mailhub = smtp.gmail.com: 465

AuthUser = myemail
AuthPass = пароль_к_почтовому_ящіку

rewriteDomain = gmail.com

hostname = gmail.com

FromLineOverride = YES

UseTLS = YES

   Слідом необхідно налаштувати / etc / ssmtp / revaliases. В цьому файлі потрібно прописати юзерів від яких можна буде відправляти пошту. Зазвичай прописують юзерів rootі www-data, для того щоб сервер міг відправляти пошту. В файл потрібно вписати дані рядки:

root: myemail@gmail.com: smtp.gmail.com: 465
www-data: myemail@gmail.com: smtp.gmail.com: 465

   І все, можете вважати всі маніпуляції закінченими. 
Для того щоб перевірити програму, можна спробувати відправити повідомлення за допомогою PHP. Створимо скрипт під назвою send_test_email.php.
Вписуємо в нього наступне:

<? php
mail ("anyemail@mail.ru", "Запрацювало!", "Це перевірка \ n ssmtp");
?>
 Скрипт можна виконати за допомогою браузера.