Popüler bir e-posta-SMS hizmetine e-posta gönderen bir NAGIOS sistemi ile ilgili bir sorunla karşılaşıyorum. E-posta-SMS hizmeti, Subject:
satırda metin bulunan e-postaları alır ve bunları To:
alanda kodlanmış cep telefonu numarasına gönderir . Çok uzak çok iyi. Ne yazık ki, sendmail (ve ondan önce sonek) (ille uzunluğunda) içine gereksiz CRLF takmadan gibi görünüyor Subject:
hat ve benim SMS mesajı CRLF fazlalıklar atılacak neden olduğunu olduğunu ancak ve ancakSubject:
satır bir veya daha fazla nokta üst üste içeren geçmiş karşılıksız CRLF.
Mesajların doğru bir şekilde oluşturulduğundan eminim, ama sadece emin olmak için, uzun bir Subject:
çizgi ile kendime tamamen noddy test mesajı oluşturuyorum :
echo "foo" | mail -s "1234567 101234567 201234567 301234567 401234567 501234567 601234567 701234567 801234567 90123456789" reaper@teaparty.net
Bu Subject:
satırda fazladan iki nokta olmadığını unutmayın ; burada yaptığım tek şey tel üzerine fazladan bir CRLF takıldığını gösteriyor. İşte sonucu sudo ngrep -x port 25
:
44 61 74 65 3a 20 46 72 69 2c 20 33 31 20 4d 61 Date: Fri, 31 Ma
79 20 32 30 31 33 20 31 30 3a 34 33 3a 35 35 20 y 2013 10:43:55
2b 30 31 30 30 0d 0a 54 6f 3a 20 72 65 61 70 65 +0100..To: reape
72 40 74 65 61 70 61 72 74 79 2e 6e 65 74 0d 0a r@teaparty.net..
53 75 62 6a 65 63 74 3a 20 31 32 33 34 35 36 37 Subject: 1234567
20 31 30 31 32 33 34 35 36 37 20 32 30 31 32 33 101234567 20123
34 35 36 37 20 33 30 31 32 33 34 35 36 37 20 34 4567 301234567 4
30 31 32 33 34 35 36 37 20 35 30 31 32 33 34 35 01234567 5012345
36 37 0d 0a 20 36 30 31 32 33 34 35 36 37 20 37 67.. 601234567 7
30 31 32 33 34 35 36 37 20 38 30 31 32 33 34 35 01234567 8012345
36 37 20 39 30 31 32 33 34 35 36 37 38 39 0d 0a 67 90123456789..
55 73 65 72 2d 41 67 65 6e 74 3a 20 48 65 69 72 User-Agent: Heir
6c 6f 6f 6d 20 6d 61 69 6c 78 20 31 32 2e 34 20 loom mailx 12.4
37 2f 32 39 2f 30 38 0d 0a 4d 49 4d 45 2d 56 65 7/29/08..MIME-Ve
72 73 69 6f 6e 3a 20 31 2e 30 0d 0a 43 6f 6e 74 rsion: 1.0..Cont
65 6e 74 2d 54 79 70 65 3a 20 74 65 78 74 2f 70 ent-Type: text/p
6c 61 69 6e 3b 20 63 68 61 72 73 65 74 3d 75 73 lain; charset=us
Orijinal başlıktaki 501234567
ve arasındaki yaklaşık yarım (kalın + italik olarak işaretlenmiş) arasında, bir CRLF'nin takıldığını ( sol taraftaki altıgen boşluğa, sağ taraftaki düz metinde) görebilirsiniz.601234567
Subject:
0x0d 0x0a
..
Alıcı MTA bunu işlemek için mutlu görünüyor ve alıcı ucunda diskte depolanan postaya baktığımda, Subject: satırında yalnızca bir LF (0x0a) görüyorum ve satır doğru ve onun içinde ayrıştırılıyor bütünüyle, örneğin alpine
. Yine de, CRLF kabloda ve ben ve (mükemmel) e-posta-SMS destek çalışanları arasında, sorunun sorununun bu olduğunu tespit ettik.
Benim sorum şu: Bir MTA'nın tel üzerine gereksiz bir CRLF eklemesi yasal mı?
Eğer öyleyse ve bunu kanıtlayabilirsem, o zaman e-posta-SMS evin sorunu, çünkü hoşgörüsüzlük yapıyorlar. Değilse, ya da öyleyse ama kanıtlayamıyorum, o zaman benim sorunum olur, bu yüzden referanslarla bir cevap en yararlı olacaktır.
Düzenleme : Şimdi söz konusu e-posta-SMS hizmetinin kapow olduğunu temiz gelebilir . Bu sorun onlara açıklandıktan sonra, anladılar, bir düzeltmeyi geliştirmek ve test etmek için benimle çalıştılar ve düzeltmeyi dağıttılar. İki nokta üst üste işaretli uzun konu satırlarım SMS'lere doğru şekilde aktarılıyor. Normalde bireysel şirketleri trompet etmem, özellikle SF'de değil, ama kapow doğru şeyi yaptığını unutmayın. (Feragatname: Kapow ile, sorunuyla ilgilenme şeklinden memnun olan ücretli bir müşteri dışında hiçbir bağlantım yok.)