c#生成的csv文件通过电子邮件发送到Lotus note中的电子邮件底部

我有这个问题,使用.NET SmtpClient通过电子邮件发送的CSV附件出现在电子邮件的底部,而不是Lotus Note中的附件。 我只是不知道如何解决它,我无法访问客户端计算机使调试非常困难。 我可以采取哪些可能的步骤以及我需要注意的可能的问题?

代码如下:

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 

谢谢。

这有点广泛,但您可能想要设置附件的内容配置。

 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

在某些邮件客户端中,可以选择内联显示附件。

最明显的测试是从其他来源发送.csv文件附件,看看结果在客户端有什么问题。

尝试不设置内容类型,只设置扩展名。 Windows应该能够处理它,如果它有一个扩展名,它可能会强制它作为附件处理它,而不是试图内联显示它。

确保您附加的文件具有扩展名。

只是为了测试,尝试将内容类型设置为“application / octet-stream”。 例如(在我的头顶):

 ContentType ct = new ContentType( "application/octet-stream" ); ct.Name = "message.csv"; data.ContentType = ct;