منبع اصلی نوشتار زیر در این لینک قرار دارد

ارسال ایمیل در ترمینال لینوکس با جیمیل

سلام ، امروز بعد از کلی مشغله ی کاری تونستم یه پست بزارم ، موضوعی که مد نظرم هست واسه این پست ارسال ایمیل از طریق ترمینال توسط میل سرور گوگل هست . با این کار خیلی ساده میشه جیمیل تون رو مثلا توی cron بزارید یا حتی syslog یا هر alert ای که بخواهید . قبل از هرکاری ، یه گواهینامه امنیتی یا کد ssl روی سیستممون لازم داریم چرا که جیمیل دیتا رو به صورت رمز شده و با الگوریتم به خصوص خودش ارسال میکنه . خوب یه فایل به اسم Equifax_Secure_CA.crt توی پوشه ی /usr/share/ca-certificates/mozilla باید داشته باشید با محتویاتی شبیه به :

-----BEGIN CERTIFICATE-----
MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQG
EwJVUzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1
cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4
MDgyMjE2NDE1MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgx
LTArBgNVBAsTJEVxdWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0
eTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2R
FGiYCh7+2gRvE4RiIcPRfM6fBeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO
/t0BCezhABRP/PvwDN1Dulsr4R+AcJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuv
K9buY0V7xdlfUNLjUA86iOe/FP3gx7kCAwEAAaOCAQkwggEFMHAGA1UdHwRp
MGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQMA4GA1UEChMHRXF1aWZheDEt
MCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgwODIyMTY0MTUxWjAL
BgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gjIBBPM5iQn9Qw
HQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQFMAMBAf8w
GgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GB
AFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y
7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2u
FHdh1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4
-----END CERTIFICATE-----

gmail

خوب برای گرفتن آخرین گواهینامه ssl از گوگل باید از دستور زیر استفاده کنیم :

root@oslearn-lab# openssl s_client -connect imap.gmail.com:993 -showcerts

1

همینطور که میبینید ، دو قسمت بهتون نشون میده که شامل

-----BEGIN CERTIFICATE----- کد های ssl -----END CERTIFICATE-----

هرکدوم از این تیکه کد هارو باید توی یه فایل بزارین . ما قسمت اول رو توی یه فایل تحت عنوان gmail.crt قسمت دوم رو هم توی یه فایل به اسم google.crt میذاریم .

قسمت اول از طرف Google Internet Authority هست قسمت دوم هم از طرف Equifax هست . روی اوبونتو و دبیان و mint یه گواهینامه از Equifax توی خود repository ها موجود هست . دستور زیر رو اجرا کنید :

sudo apt-get install ca-certificates

باید مسیر فایلی رو که داخلش گواهینامه رو قرار دادیم توی کانفیگ msmtp که پائین تر توضیح میدم در قسمت tls_trust_file تعریف کنیم.

لازمه که دو تا نرم افزار تحت عنوان های msmtp و mailx رو نصب کنیم ، بسته به سیستمی که دارید استفاده میکنید یکی از دستورات زیر رو اجرا کنید :

sudo apt-get install msmtp heirloom-mailx     // Debian
sudo yum install msmtp mailx                         // RPM

کانفیگ msmtp

برای کانفیگ msmtp باید یه فایل .msmtprc توی Home Dir یوزر خودمون بسازیم و محتویات زیر رو داخلش قرار بدیم :

account oslearn
auth on
host smtp.gmail.com
port 587
tls on
tls_trust_file /usr/share/ca-certificates/mozilla/Equifax_Secure_CA.crt
user [email protected]
password 123456
from [email protected]
account default: oslearn

برای اینکه msmtp به خوبی کار کنه و مشکلات پرمیژنی نداشته باشه باید دستور زیر رو وارد کنید :

chmod 600 ~/.msmtprc

 کانفیگ mailx

مثل مورد قبل یه فایل .mailrc داخل Home Dir یوزر خودتون بسازید . بعد هم محتویات زیر رو داخلش قرار بدین :

set from="[email protected]"                    #your email id here
set sendmail="/usr/bin/msmtp"       #location of msmtp's binary executable
set message-sendmail-extra-arguments="-a oslearn" #additional arguments to msmtp goes here (optional) (-a indicates account name to be used to send mails)

خوب حالا خیلی ساده میتونید از طریق ترمینال ایمیل ارسال کنید .

نکته : اگه هر یوزر برای خودش یه اکانت جیمیل داره که کانفیگ ها باید توی Home Dir ها باشه اگه نه و کل سرور یا کلاینت یه ایمیل واحد داره توی فولدر /etc میتونین قرارش بدین .

برای ارسال ایمیل هم از طریق mailx

# mailx [email protected]
Subject : This is test
Happy new year (2015) :D
.
EOT

برای ارسال از روی یک فایل ( مثلا لاگ فایل یا هرچیزی )

mailx -s "subject line" [email protected] < /path/body.txt

منبع : او اس لرن دات آی آر

نویسنده : محمد ورمزیار

پیروز و سربلند باشید .



برچسب ها : ,