0

Excel 文書を持っています。ストリームから添付ファイルとして送信したいと考えています。

添付ファイル付きのメールを送信しましたが、Excel ファイルを正しく開くことができません

これは私のコードです:

public static string EPostaGonder(...,Stream AttachmentStream,string AttachmentFileName)
    {
      .
      .
      .
       SmtpClient mailClient = new SmtpClient(Host, Port);
       mailClient.EnableSsl = true;
       NetworkCredential cred = new NetworkCredential(KullaniciAdi, Sifre);
       mailClient.Credentials = cred;

       MailMessage ePosta = new MailMessage();
       ePosta.IsBodyHtml = true;
       ePosta.From = new MailAddress(Kimden, Isim);
       foreach (string Kime_ in Kime.Split(';'))
       {
         if (Kime_.Trim() != "")
            ePosta.To.Add(Kime_.Trim());


       ePosta.Subject = Konu;
       ePosta.Body = Mesaj.Replace("\n","<br/>");
       if (Cc != "")
         ePosta.CC.Add(Cc);

       if (AttachmentStream != null)
          {
             AttachmentStream .Seek(0, SeekOrigin.Begin);                 
             ePosta.Attachments.Add(
                      new Attachment(AttachmentStream, AttachmentFileName + ".xlsx"));
          }


        try
        {
           //mailClient.SendAsync(ePosta, (object)ePosta);
           mailClient.Send(ePosta);

             return "Done";
        }
         catch (SmtpException SmtpException_)
         {
             return SmtpException_.Message;
         }

  }
4

2 に答える 2

1

メールに添付ファイルを追加するには、次のコードを使用します。ファイル パスを Attachment コンストラクターに渡すだけです。

Attachment attachment = new Attachment(file);
ePosta.Attachments.Add(attachment);

ストリームから添付ファイルを追加:

ePosta.Attachments.Add( new Attachment( AttachmentStream, filename, "application/msexcel" ));
于 2012-05-11T14:44:00.100 に答える
0

次のようなものを試してください

var attach = new MailAttachment(Server.MapPath(strFileName));
ePosta.Attachments.Add(attach);

複数の添付ファイルが含まれるASP.NET電子メールに関するこの記事をご覧ください

于 2012-05-11T14:51:17.957 に答える