Dalam tutorial ini, anda akan belajar cara memasang sSMTP , pelayan pemajuan sederhana.
Mailtrap.io menawarkan pelayan e-mel palsu untuk pemaju. Gunakan untuk menghantar laporan atau e-mel semasa fasa pengembangan ke alamat sebenar tetapi memintasnya di Mailtrap.io (mereka tidak pernah dihantar ke penerima akhir) dan lihat dengan segera bagaimana e-mel HTML anda diberikan atau bagaimana butang CTO baru menonjol.
Dengan mengintegrasikan sSMTP dan Mailtrap, Ubuntu Pembangunan Ubuntu anda dapat menggunakan pelayan penghantaran e-mel yang sama untuk tujuan mel umum, seperti pelaporan penyelesaian pekerjaan cron.
Dengan cara ini, anda dapat menguji aplikasi anda dengan alamat e-mel sebenar dan merasakan bagaimana tingkah lakunya di pihak pelanggan, semuanya tanpa membanjiri akaun e-mel atau rakan sekerja anda.
Prasyarat
- Vultr VPS dengan Ubuntu 16.04 dipasang dan dikemas kini.
- Akaun Mailtrap.io.
- Pengguna sudo bukan root .
- Penyunting teks pilihan anda, kami akan gunakan
nano
.
- Sandaran atau petikan pemasangan semasa anda.
Prosedur pemasangan
Log masuk ke VPS anda sebagai pengguna biasa. Jadikan diri anda pentadbir dengan mengeluarkan perkara berikut.
sudo su
Kemudian sahkan dengan kata laluan anda. Pasang pakej sSMTP untuk bahagian pelayan dengan mutt sebagai pelanggan e-mel untuk tujuan ujian.
apt install ssmtp mutt
Konfigurasi
Sekarang anda harus membuatnya berfungsi dengan mailtrap
akaun anda .
Anda memerlukan kelayakan dan nama pelayan anda. Dalam kes kami, pelayan smtp.mailtrap.io
menggunakan port 2525
.
Terdapat dua fail yang sedang kami edit. Pertama, sementara masih log masuk sebagai root, edit fail konfigurasi.
nano /etc/ssmtp/ssmtp.conf
Secara lalai, ia seperti teks berikut.
# 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
Pada ketika ini anda mungkin mengedit entri agar sesuai dengan nilai anda sendiri atau mengganti keseluruhan kandungan dengan maklumat khusus anda. Entri dengan huruf besar mengandungi data sebenar anda. [email protected]
adalah e-mel dari mana anda ingin menghantar e-mel. MAILTRAP_USERNAME
dan MAILTRAP_PASSWORD
dihasilkan untuk anda di Mailtrap.io. Kedua-duanya adalah rentetan panjang dan rawak. Cari di Peti Masuk Mel di bawah SMTP Settings
.
[email protected]
mailhub=smtp.mailtrap.io:2525
AuthUser=MAILTRAP_USERNAME
AuthPass=MAILRTRAP_PASSWORD
FromLineOverride=Yes
Simpan fail. Dengan nano tekan " Ctrl-X
" dan sahkan dengan " Y
".
Fail kedua yang perlu diedit adalah untuk memetakan akaun pengguna tempatan ke alamat e-mel luaran, membalikkan nama samaran. Bawa fail ke atas.
nano /etc/ssmtp/revaliases
Tambahkan entri anda hingga akhir sehingga kelihatan seperti teks ini.
# 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
Pada dasarnya, sistem harus menghantar semua e-mel dari akaun tempatan root
sebagai pengguna e-mel [email protected]
melalui mailtrap
pelayan. Masukkan seberapa banyak pengguna yang anda perlukan, masing-masing dalam barisannya sendiri. Sekiranya anda hanya perlu root
menghantar mesej, hilangkan baris lain. Anda mungkin akan kembali kemudian dan menambahkan pengguna mengikut keperluan.
Simpan fail. Dengan nano tekan " Ctrl-X
" dan sahkan dengan " Y
".
Anda sudah selesai. Anda mungkin mahu melihatnya beraksi dengan menghantar e-mel kepada diri sendiri. Untuk melakukan itu, buat mesej anda dan hantar.
echo "This is the body" | mutt -s "Hello World" [email protected]
Log masuk ke akaun Mailtrap anda dan periksa peti masuk Demo anda. Surat itu semestinya sudah menunggu di sana.
Kesimpulannya
Akhirnya, alihkan sesi terminal anda dari root
belakang ke pengguna biasa.
exit
Sebagai pilihan, tambahkan [email protected]
pada crontab anda. Untuk melakukan ujian pantas, katakanlah, memeriksa subfolder dalam /home
folder anda setiap minit, edit crontab.
crontab -e
Pilih editor anda jika diperlukan dan tambahkan / edit baris ini pada akhir sehingga menyerupai teks berikut.
# 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
Ini berlangsung ls /home
setiap minit dan kerana ada MAILTO
entri yang ditambahkan, mengirimkan respons ke alamat tersebut. Anda boleh mengetahui lebih lanjut mengenai jadual crontab di sini .
Simpan semasa keluar. Jangkakan e-mel di Mailtrap setiap minit.