2009-05-21 13 views
2

.NET SmtpClientを使用して電子メールでCSV添付ファイルを送信すると、Lotus Notesの添付ファイルではなく電子メールの下部に表示されるという問題が発生します。私はそれを把握する方法がわかりませんし、クライアントコンピュータへのアクセス権がないので、デバッグが非常に難しくなります。私が取ることができる措置は何ですか?私が気づく必要がある可能性がありますか?csvファイルを電子メールでLotus Notesにメールの下に埋め込んだ

コードは以下の通りです:

var smtpClient = new SmtpClient 
{ 
    Host = ConfigurationManager.AppSettings["smtpServer"], 
    Port = Convert.ToInt32(ConfigurationManager.AppSettings["smtpPort"]) 
}; 
var mailMessage = new MailMessage(); 
mailMessage.Attachments.Add(new Attachment(attachment, contentType)); 

//ContentType = "text/csv"; 
//attachment is the temp file disk path 

感謝。

答えて

3

これは少し手間がかかりますが、添付ファイルの内容の処理を設定したい場合があります。適応

var mailMessage = new MailMessage(); 
Attachment data = new Attachment(attachment, contentType); 
ContentDisposition disposition = data.ContentDisposition; 
disposition.FileName = "message.csv"; 
mailMessage.Attachments.Add(data); 

http://msdn.microsoft.com/en-us/library/system.net.mail.attachment.contentdisposition.aspx

+0

これは私のために美しく働いています。ありがとう! – Jeff

0

メールクライアントによっては、添付ファイルをインラインで表示するオプションがあります。

最も顕著なテストは、他のソースから.csv添付ファイルを送信し、問題が発生しているクライアントでの結果を確認することです。

+0

私はOutlookを使用して、クライアントにテストメールを送信し、添付ファイルが正常に現れました。私は髪を引っ張っています。 – Jeff

0

コンテンツタイプを設定せずに、拡張機能を設定してみてください。拡張子を持っていて、それをインラインで表示するのではなく、添付ファイルとして扱うように強制するかもしれません。

添付するファイルに拡張子が付いていることを確認してください。

0

は単なるテストのために、「アプリケーション/オクテットストリーム」のようなものにコンテンツタイプを設定してみてください。 例えば(私の頭の上から):

ContentType ct = new ContentType("application/octet-stream"); 
ct.Name = "message.csv"; 
data.ContentType = ct; 
関連する問題