Ekleri komut satırından e-postayla göndermek mümkün mü?
Mümkünse, bu kadar basit bir şey istiyorum:
mail -a myfile.txt -t me@example.com -s "Here's my file"
Ekleri komut satırından e-postayla göndermek mümkün mü?
Mümkünse, bu kadar basit bir şey istiyorum:
mail -a myfile.txt -t me@example.com -s "Here's my file"
Yanıtlar:
Ubuntu deposundaki tüm posta kullanıcı ajanların, şunlar anlaşılmaktadır ahmak Uzun Süreli Desteği ile kutsanmış komut satırı MUA olduğunu.
Kılavuza göre , aynen şöyle bir şey yapabilirsiniz:
mutt -a myfile.txt -s "Here's my file" -- me@example.com
bir kişinin bir Posta Aktarımı Aracısı'na da ihtiyacı olduğu için hiçbir yere gitmemesi dışında. Popüler olanlar:
ve Canonical’in desteklediği görünen tek şey postfix (Steve düzeltmesi için teşekkürler) ve exim4 .
Ayrıca, xdg-email'in uygun bir Ubuntu MUA olduğunu da söyleyebiliriz , ancak yalnızca sizin tercih ettiğiniz MUA'yı sizin adınıza çalıştıran çıplak kemikli bir ön uç .
Hangi MTA'nın kullanımınız için uygun olabileceğine dair tavsiye almak isterseniz, burada bir soru daha açıklayın.
mutt
komutu reklamı yapıldı. Bu arada, nullmailer sahte bir sendmail ön uçuna sahiptir, böylece sendmail ile konuşmayı bekleyen çoğu program benden sıfır çabayla gerçek bir MTA'ya karıştırılır.
Ben de ek dosya gönderirken sorun yaşadım. Eksiz bir e-posta gönderdiğimde başarılı oldu ancak ekli değildi. Bu sorun ile peyda oldu sendemail
, mutt
, mail
, mailx
, uuencode
komutları.
Neyse ki, komik bir şekilde çözüldü. E-posta göndermek için Gmail'i kullanıyorum. Gmail'inizi, http://www.linuxandlife.com/2013/01/s/send-email-from-linux-terminal.html adresinde bildirildiği gibi terminaldeki komutlar aracılığıyla e-posta göndermek için yapılandırabilirsiniz .
Aşağıdakileri kullanarak bir metin e-postası gönderebilirsiniz:
mail -s "hello" RECEIVE@mail.com < /home/masoud/YOURFILE.txt
ama olamaz aşağıda eki olarak aynı dosya göndermek:
mail -s "hello" RECEIVE@mail.com -a /home/masoud/YOURFILE.txt
veya:
mail -s "hello" -a /home/masoud/YOURFILE.txt RECEIVE@mail.com
Sonunda, yalnızca bu biçimin bir ek gönderebileceğini anladım:
echo "your message here" | mail -s "title" -a /home/masoud/YOURFILE.txt RECEIVE@mail.com
Tuhaf, aradaki fark "yankı" komutunun varlığıdır.
Bu -a
seçenek şimdi eki için Büyük Harf ile değiştirilmiş görünüyor Göre başlık değiştirme gibi görünüyor doc-A
-a
.zshrc
ve mail
hızlı mesaj göndermek için çok kullanmama rağmen , bir eki göndermeye çalışmak işe yaramadı. Sadece argüman sırasının çok önemli olduğunu fark etmenin mümkün olduğunu onaylamaya ihtiyacım vardı . Bu benim için işe yaradı: mail -s "zshrc" -a ~/.zshrc username@example.com
tabii ki hala mesaj gövdesini yazıp ctrl+d
son boş satıra çarptım.
mail username@example.com -a ~/.zshrc
"iş" yaptım mesajı gönderdi ancak dosyayı göndermedi. Denedim Had mail username@example.com -a ~/.zshrc -s 'zshrc'
alıcı adresindeki sonra parametreler göz ardı ediliyordu bariz olurdu.
Bir dosya göndermek isteyebilirsiniz kabuğundan , ama aksi Thunderbird kullanabilirsiniz .
Bu durumda, deneme thunderbird -remote ...
yararlıdır - Thunderbird'ün genellikle çalıştığını varsayalım:
Komut, çalışan bir thunderbird örneğinin posta oluşturma penceresini açar.
"Kimden" adresi, thunderbird'de yapılandırılmış varsayılan adresinizdir .
Ayrıca, mevcut hesap ayarları kullanılır, ayrı bir kurulum gerekmez.
you@example.com
Konu "S", "B" gövdesi ve bir eke sahip olan bir posta için , /some/absolute/file.txt
komut
thunderbird -remote "xfeDoCommand(composeMessage,subject='S',to='you@example.com',body='B',attachment='/some/absolute/file.txt')"
İki sorun var:
Ekli dosya pratikte sıkıcı olan mutlak bir yolla verilmelidir . readlink -f
Göreceli yolları çözmek için bu işlem yapılabilir :
thunderbird -remote "xfeDoCommand(composeMessage,subject='S',to='you@example.com',body='B',attachment='$(readlink -f file.txt)')"
Ayrıca, komut çok uzun. Dört değişkenli bir kabuk betiği veya kabuk işlevi kullanın:
thunderbird-compose () {
thunderbird -remote "xfeDoCommand(composeMessage,subject='$1',to='$2',body='$3',attachment='$(readlink -f $4)')"
}
Bu fonksiyonla, komut okunabilir hale gelir:
thunderbird-compose 'Some Subject' test@example.com 'Body of message' file1
eki ile bir thunderbird "Yaz" penceresi açılacak ve Kimden, Kime, Konu ve gövde metni doldurulmuş olacak. Gönderilmeden önce düzenlenebilir .
heirloom-mailx
debian içindeki paket mailx
kolayca mime eklerini gönderme komutu sağlar. benim için işleri takip etmek;
mailx -a attachment.zip -s subject rctp@domain.to
mail
ve mailx
RH benzerler dahil sahiptir -a
dosya ekleri için değil, Debian benzerler dahil kimse yok.
Ek ile birlikte gövde metni eklemek için kullanılan başka bir cevap eklemek istiyorum. Alkış !!
echo "This is the message body" | mutt -a "/path/to/file.to.attach" -s "subject of message" -- recipient@domain.com
mail
(akamailx
) MIME bilgisizdir, bu nedenle ekleri 1980'lerde olmayan bir şekilde işleyemez. Bu iyi bir soru, kanonik Kanonik MUA'yı arıyorum; gelmek için daha fazla.