Передумови
Порядок встановлення
Конфігурація
Висновок
У цьому підручнику ви дізнаєтеся, як встановити sSMTP , простий сервер пересилання.
Mailtrap.io пропонує фальшивий сервер електронної пошти для розробників. Використовуйте його, щоб надсилати звіти або електронні листи під час фази розробки на реальні адреси, але перехоплюйте їх на Mailtrap.io (вони ніколи не доставляються кінцевому одержувачу) і одразу подивіться, як відображається ваша електронна пошта HTML або як виділяється нова кнопка CTO.
Завдяки інтеграції sSMTP і Mailtrap ваш VPS для розробки Ubuntu може використовувати той самий сервер надсилання електронної пошти для загальних цілей розсилки, наприклад звітування про завершення роботи cron.
Таким чином, ви можете протестувати свою програму за допомогою реальних адрес електронної пошти та відчути, як вона поводиться на стороні клієнта, не переповнюючи ваші особисті або поштові облікові записи колег.
Передумови
- Vultr VPS із встановленою та оновленою Ubuntu 16.04.
- Обліковий запис Mailtrap.io.
- Користувач sudo без права root .
- Текстовий редактор на ваш вибір, ми будемо використовувати
nano.
- Резервна копія або знімок поточної інсталяції.
Порядок встановлення
Увійдіть у свій VPS як звичайний користувач. Зробіть себе адміністратором, видавши наступне.
sudo su
Потім підтвердьте це своїм паролем. Встановіть пакет sSMTP на стороні сервера з mutt як поштовим клієнтом для цілей тестування.
apt install ssmtp mutt
Конфігурація
Тепер ви повинні змусити його працювати з вашим mailtrapобліковим записом.
Вам знадобляться ваші облікові дані та імена серверів. У нашому випадку сервер smtp.mailtrap.ioз портом 2525.
Є два файли, які ми редагуємо. Спочатку відредагуйте файл конфігурації, перебуваючи в системі як root.
nano /etc/ssmtp/ssmtp.conf
За замовчуванням він виглядає як наступний текст.
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=postmaster
# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=mail
# Where will the mail seem to come from?
#rewriteDomain=
# The full hostname
hostname=example.com
# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
#FromLineOverride=YES
На цьому етапі ви можете відредагувати записи, щоб вони відповідали вашим власним значенням, або просто замінити весь вміст вашою конкретною інформацією. Записи з великої літери містять ваші фактичні дані. [email protected]це електронна пошта, з якої ви хочете надсилати електронні листи. MAILTRAP_USERNAMEі MAILTRAP_PASSWORDстворюються для вас на Mailtrap.io. Обидва довгі випадкові рядки. Знайдіть його у своїй скриньці вхідних Mailtrap під SMTP Settings.
[email protected]
mailhub=smtp.mailtrap.io:2525
AuthUser=MAILTRAP_USERNAME
AuthPass=MAILRTRAP_PASSWORD
FromLineOverride=Yes
Збережіть файл. За допомогою nano натисніть " Ctrl-X" і підтвердьте натисканням " Y".
Другий файл, який потрібно відредагувати, призначений для зіставлення локальних облікових записів користувачів із зовнішніми адресами електронної пошти, зворотним псевдонімом. Підніміть файл угору.
nano /etc/ssmtp/revaliases
Додайте свої записи в кінці, щоб він виглядав приблизно як цей текст.
# sSMTP aliases
#
# Format: local_account:outgoing_address:mailhub
#
# Example: root:[email protected]:mailhub.your.domain[:port]
# where [:port] is an optional port number that defaults to 25.
root:[email protected]:smtp.mailtrap.io:2525
username:[email protected]:smtp.mailtrap.io:2525
По суті, система повинна надсилати всі листи з локального облікового запису rootяк користувача електронної пошти [email protected]через mailtrapсервер. Введіть стільки користувачів, скільки вам потрібно, кожен у своєму рядку. Якщо вам потрібно лише rootнадіслати повідомлення, просто опустіть інші рядки. Ви можете повернутися пізніше і додати користувачів за потреби.
Збережіть файл. За допомогою nano натисніть " Ctrl-X" і підтвердьте натисканням " Y".
Ви закінчили. Ви можете побачити це в дії, надіславши собі електронний лист. Для цього створіть своє повідомлення та надішліть його.
echo "This is the body" | mutt -s "Hello World" [email protected]
Увійдіть у свій обліковий запис Mailtrap та перевірте свою скриньку вхідних демонстрацій. Там уже має чекати пошта.
Висновок
Нарешті, переключіть свій термінальний сеанс із rootзворотного на звичайного користувача.
exit
За бажанням, додайте [email protected]до свого crontab. Щоб зробити швидкий тест, скажімо, /homeщохвилини перевіряючи підпапки у вашій папці, відредагуйте crontab.
crontab -e
Виберіть свій редактор, якщо потрібно, і додайте/відредагуйте ці рядки в кінці, щоб він нагадував наступний текст.
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
[email protected]
* * * * * ls /home
Це виконується ls /homeщохвилини і, оскільки MAILTOдодано запис, надсилає відповідь на цю адресу. Ви можете дізнатися більше про таблиці crontab тут .
Збережіть його під час виходу. Очікуйте електронний лист у Mailtrap щохвилини.