Saya menggunakan SMTP jarak jauh melalui nullmailer dan memerlukan set Dari bidang ke nama tertentu, tetapi cron mengaturnya sebagai root@my.sweet.server.com.
Bagaimana saya bisa mengubahnya menjadi sesuatu seperti me@ya.ru?
Saya menggunakan SMTP jarak jauh melalui nullmailer dan memerlukan set Dari bidang ke nama tertentu, tetapi cron mengaturnya sebagai root@my.sweet.server.com.
Bagaimana saya bisa mengubahnya menjadi sesuatu seperti me@ya.ru?
Jawaban:
Saya tidak berpikir Anda dapat mengubah alamat FROM, (seseorang harus menambahkan opsi MAILFROM).
Anda dapat melakukan sesuatu seperti ini untuk mencapai hasil yang serupa:
* * * * * /path/to/script 2>&1 | mail -s "Output of /path/to/script" toaddress@example.com -- -r "fromaddress@example.com" -F"Full Name of sender"
Semua output disalurkan ke perintah mail sehingga variabel MAILTO tidak digunakan sama sekali.
Alamat to perlu diatur tetapi Anda mungkin dapat menggunakan variabel $ MAILTO. The - mengatur sisa opsi menjadi opsi sendmail sehingga Anda dapat menggunakan opsi -r dan dan -F.
-s adalah subjeknya
-r adalah alamat balasan
-F adalah nama lengkap pengirim (membuatnya terlihat bagus di klien email)
Versi modern dari cron menerima "MAILFROM = ..." dalam format crontab. Saya sarankan Anda mencoba "man 5 crontab". Jika menyebutkan MAILFROM, versi Anda harus mendukungnya. Ungkapan yang harus dicari adalah menjelang akhir paragraf yang membahas MAILTO, dan harus seperti ini:
If MAILFROM is defined (and non-empty), it will be used as the envelope sender address, otherwise, ''root'' will be used.
MAILFROM
di man 5 crontab
.
cronie
untuk menggantikan cron
di Debian / Ubuntu. Ta-daa: MAILFROM
ada:
/ etc / mailname berisi bagian nama domain dari alamat FROM. Jika / etc / mailname berisi 'somecompany.com' maka cron yang menjalankan root akan memiliki pengirim sebagai root@somecompany.com
Anda dapat mengatur nullmailer dari alamat melalui variabel lingkungan atau baris perintah. Argumen baris perintah adalah -f
dan -F
untuk masing-masing alamat pengirim dan nama lengkap.
Biasanya Anda dapat mengatur variabel lingkungan di crontab.
NULLMAILER_USER=webmaster
NULLMAILER_HOST=host.example.com
NULLMAILER_NAME="Mr Cron"
5 0 * * * /usr/local/bin/daily.sh
Bagi saya, cara termudah untuk mengubah alamat dari pada suatu sistem, adalah membuat ~/.mailrc
file dengan konten seperti ini:
set name="My Full Name"
set from="myrealemail@example.com"
Salah satu mail
perintah yang dijalankan sebagai pengguna saya, sekarang gunakan pengaturan ini.
Lihat pertanyaan ini jika menggunakan Exim:
exim: Tulis ulang "Dari" tajuk ke amplop "DARI"
Seharusnya mengatur "Dari" alamat ke pemilik cronjob. Anda dapat menggantinya $header_from:
dengan alamat khusus Anda jika Anda ingin mengkodekannya ke sesuatu yang lain.
Alternatif sederhana lain adalah dengan menggunakan mutt,
buat .muttrc di direktori home pengguna yang menjalankan cron dengan yang berikut ini
set realname = "Joe User" set dari = "user @ host" set use_from = yes
Jalankan skrip dengan perintah mutt di dalamnya atau pipa perintah cron ke mutt dari untuk mengirim email.
Sebelum mutt mengirim dan mengirim email, ini akan mengatur header Dari dari file .muttrc.
itu dikirimkan dari pengguna @ domain - pengguna adalah nama login yang dijalankan oleh cron - jadi Anda harus membuat pengguna 'saya' - dan menjalankan pekerjaan cron sebagai pengguna itu.
Kemudian untuk mengubah domain, ada beberapa kemungkinan berbeda - bisa jadi Anda perlu mengubah entri file hosts (atau, seperti di komputer saya, ketika saya mengonfigurasi ini - kotak ubuntu) - ubah / etc / mailname - untuk menjadi domain yang Anda inginkan.