我必须将几个文件邮寄到一个电子邮件地址。这些文件需要有.tcx文件扩展名。这些实际上是xml文件(Garmin自行车日志)。
显然,当接收者收到电子邮件时,附件名为xxxxx.tcx.xml。如何强制邮件程序不要更改附件文件名?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net.Mail;
using System.IO;
namespace stravamailer
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
var files = Directory.GetFiles("E:\\JurgenS\\Downloads\\allrides");
for (int i = 0; i < files.Length; i++)
{
MailMessage oMail = new MailMessage();
oMail.Body = "";
oMail.From = new MailAddress("jurgen@ccccc.be","Jurgen Stillaert");
oMail.Subject = "";
oMail.To.Add(new MailAddress("jurgen@cccc.be"));
Attachment att = new Attachment(files[i]);
att.Name = Path.GetFileName(files[i]);
oMail.Attachments.Add(att);
SmtpClient oSmtp = new SmtpClient("uit.telenet.be");
oSmtp.Send(oMail);
}
}
}
}
答案 0 :(得分:0)
Attachment类与MailMessage类一起使用。所有消息 包含一个Body,其中包含消息的内容。此外 对于正文,您可能希望发送其他文件。这些都是发送的 作为附件并表示为附件实例。添加一个 附加到邮件消息,将其添加到MailMessage.Attachments 集合。
附件内容可以是字符串,流或文件名。您可以 使用任何附件指定附件中的内容 构造
附件的MIME Content-Type标头信息是 由ContentType属性表示。 Content-Type标头 指定媒体类型和子类型以及任何关联的参数。 使用ContentType获取与附件关联的实例。
MIME Content-Disposition标头由。表示 ContentDisposition属性。 Content-Disposition标头指定 附件的演示文稿和文件时间戳。一个 仅当附件是文件时才会发送Content-Disposition标头。 使用ContentDisposition属性来获取关联的实例 带附件。
MIME Content-Transfer-Encoding标头由。表示 TransferEncoding属性。
您的解决方案位于此MSDN链接中。你应该尝试MIME Content-Type。