我遇到了一個有趣的問題。我通過蘋果公司的me.com SMTP服務器通過Ruby :: NET中的SMTP類發送帶有附件的電子郵件,我遇到了一些有趣的問題。郵件編碼和通過SMTP發送 - 紅寶石
我試圖通過SMTP服務器發送一系列jpg文件。我用紅寶石編碼它們,當我發送給另一個me.com電子郵件時,所有五個jpg圖像都以完美的狀態出現在另一端。當我發送到我的Gmail地址的文件截斷在90K(他們通常在500K左右)。當我在textmate中打開兩封電子郵件時,我發現電子郵件的文本部分的編碼在發送到.me地址的電子郵件中是8位,而在發送到gmail服務器的電子郵件中是7位。我不確定這是否是我的問題。
這裏是我使用的代碼的簡要:
file1Content = File.read(目錄+ '/ Photo_1.jpg')
file1的= [file1Content] .pack( 「M」)
marker = "AUNIQUEMARKER"
body =<<EOF
#{emailbody}
EOF
# Define the main headers.
part1 =<<EOF
From: #{from}
To: #{donor}
Subject: #{subject}
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=#{marker}
--#{marker}
EOF
# Define the message action
part2 =<<EOF
Content-Transfer-Encoding:8bit
Content-Type: text/plain
#{body}
--#{marker}
EOF
# Define the attachment section
part3 =<<EOF
Content-Type: image/jpeg; name=\"Photo_1.jpg\"
Content-Transfer-Encoding:base64
Content-Disposition: attachment; filename="Photo_1.jpg"
#{file1}
--#{marker}
EOF
(等5個文件,我結束標記與 - #{}標記 -
我真的很感激任何幫助,您可以給我完全難倒一對夫婦的其他注意事項。我使用的是MacRuby,並不是所有的Gem都可以使用它,特別是嵌入式Mac紅寶石。我已經在小型圖書館取得了一些成功,但是我沒有與ActionMailer交往過。
感謝Ariejan,正如我在一封電子郵件中提到,我使用的MacRuby和一些寶石不爲它工作。我真的需要推出自己的。我不喜歡發明輪子,但這是我爲使用新技術而付出的代價。 – tsugua 2010-10-26 20:33:59
在這種情況下,您可以使用Mikel的庫作爲一個很好的起點。 7位編碼將在某處供您查看。 – Ariejan 2010-10-27 08:56:57