System.net.mail附件获取.xml文件扩展名

时间:2012-05-04 18:09:18

标签: c# asp.net system.net.mail

我必须将几个文件邮寄到一个电子邮件地址。这些文件需要有.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);
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

  

Attachment类与MailMessage类一起使用。所有消息   包含一个Body,其中包含消息的内容。此外   对于正文,您可能希望发送其他文件。这些都是发送的   作为附件并表示为附件实例。添加一个   附加到邮件消息,将其添加到MailMessage.Attachments   集合。

     

附件内容可以是字符串,流或文件名。您可以   使用任何附件指定附件中的内容   构造

     

附件的MIME Con​​tent-Type标头信息是   由ContentType属性表示。 Content-Type标头   指定媒体类型和子类型以及任何关联的参数。   使用ContentType获取与附件关联的实例。

     

MIME Con​​tent-Disposition标头由。表示   ContentDisposition属性。 Content-Disposition标头指定   附件的演示文稿和文件时间戳。一个   仅当附件是文件时才会发送Content-Disposition标头。   使用ContentDisposition属性来获取关联的实例   带附件。

     

MIME Con​​tent-Transfer-Encoding标头由。表示   TransferEncoding属性。

Here is the source

您的解决方案位于此MSDN链接中。你应该尝试MIME Con​​tent-Type。