2009-08-18 11 views
24

Bir Solaris sunucusunda çalışan bir KornShell (ksh) komut dosyası üzerinde çalışıyorum ve bu hata durumu karşılandığında bir e-posta gönderecek. E-postayı mailx üzerinden gönderiyorum.Mailx komutunun Kimden e-posta adresi nasıl ayarlanır?

Soru: Mailx komutunda "Kimden" e-posta adresini nasıl ayarlayabilirim?

Güncel Kodu:

echo ${msg_txt} | mailx -s "Script Failure" ${to_email} 

Not: Komut Ben senaryoyu çalıştırıyorum kullanıcının adıdır ve "From" Ben başka e-posta bunun için istiyoruz, ancak, gayet iyi çalışıyor adres.

Bunu nasıl başarabilirim?

cevap

21
da alt alanına, aşağıdaki biçimi kullanabilirsiniz gerçek adınızı eklemek istediğiniz durumda

My AEÆoeøaaå gibi adlandırıp ASCII olmayan karakterler var edersek
mailx -r "[email protected] (My Name)" -s "My Subject" ... 

(C3 86 = Æ, ø = C3 B8, å = C3 A5), bu gibi onları kodlamak zorunda:

mailx -r "[email protected] (My =?utf-8?Q?AE=C3=86oe=C3=B8aa=C3=A5?=)" -s "My Subject" ... 

Bu, bir saat çalışmanın/araştırmanın bir saatini kurtarabilir!

+0

Herhangi birinin merak ettiği durumda, '=? Utf-8? ...? =' Bit bir [MIME kodlu kelime] 'dir (http://en.wikipedia.org/wiki/MIME#Encoded-Word). –

+0

Bunun gerçek adı, solaris için benim için çalışmıyor. Mesaj başarılı bir şekilde gönderir ve uygun bir e-postaya sahiptir, ancak gönderdiğim her e-posta adresi yalnızca e-posta adresine gönderilir. – peabody

+0

@Rune Metodunuz geri dönüyor (My AE ?? oe ?? aa ??) herhangi bir fikri neden? – RafaSashi

8

bsd-mailx'un varsayılan olarak yüklendiği debianda, -r seçeneği çalışmaz. Ancak bunun yerine mailx -s subject [email protected] -- -f [email protected]'u kullanabilirsiniz. Man sayfasına göre, --'dan sonra sendmail seçeneklerini belirtebilirsiniz.

+0

Bahşiş için teşekkürler, tahmin etmeyi daha ayrıntılı olarak okumalıydım. Ne yazık ki, korkunç bir bsdutils ile sıkışmış, bir geçici çözüm olması memnun. – 4ae1e1

+3

Ne yazık ki [DSA 3104-1 güvenlik güncelleştirmesi] (https://www.debian.org/security/2014/dsa-3104) bu yöntemi bozdu. Bunun yerine, bir "-r" seçeneği sağlayan yadigarı-mailx paketi kurulabilir. – praseodym

+0

Ubuntu 16.04 sisteminde de olsa, 'bsd-mailx' sürüm 'Sürüm: 8.1.2-0.20160123cvs-2' yükledim; '-r 'seçeneği çalışır. – ssc

28

Sistemlerimde "-r" seçeneği geçersiz. "From" alanı için farklı bir sözdizimi kullanmak zorunda kaldım.

-a "From: Foo Bar <[email protected]>" 
+1

Benim durumumda, Ubuntu 16.04 üzerinde, '-a 'seçeneğinizi kullanarak, alınan postada' Foo Bar 'ismini gösterir, ancak alınan postanın cevabı, smtp login olarak kullandığım gmail e-posta adresimi önerir. foo.bar @ someplace.com 'un bir tanesi. – Stephane

1

paket nail arayüzü gibi geliştirilmiş bir mailx sağlar. -r seçeneğini içerir.

Centos 5, mailx paketinin kurulması, adlı mailx seçeneklerini desteklemeyen bir program sağlar.

MacOS Sierra On
0

smtp kurulumu ile hile ~/.mailrc vermedi oluşturarak:

Sonra
set smtp-use-starttls 
set smtp=smtp://smtp.gmail.com:587 
set smtp-auth=login 
set [email protected] 
set smtp-auth-password=yourpass 

CLI posta göndermeye: çalışmıştır

echo "your message" | mail -s "your subject" [email protected]