【问题标题】:Razor Pages Send Attachment with Webmail.SendRazor Pages 使用 Webmail.Send 发送附件
【发布时间】:2022-11-22 15:26:38
【问题描述】:

我正在尝试通过网络邮件发送我之前创建的 .ics 附件。 不幸的是,我不知道如何将它转换为字符串数组,即使我采用测试字符串数组,它也不会发送电子邮件。 有谁知道问题出在哪里? 这是我的代码:

@{
  System.Text.StringBuilder str = new System.Text.StringBuilder();
            str.AppendLine("BEGIN:VCALENDAR");
            str.AppendLine("PRODID:-//Schedule a Meeting");
            str.AppendLine("VERSION:2.0");
            str.AppendLine("METHOD:REQUEST");
            str.AppendLine("BEGIN:VEVENT");
            str.AppendLine(string.Format("DTSTART:{0:yyyyMMddTHHmmssZ}", DateTime.Now.AddMinutes(+330)));
            str.AppendLine(string.Format("DTSTAMP:{0:yyyyMMddTHHmmssZ}", DateTime.UtcNow));
            str.AppendLine(string.Format("DTEND:{0:yyyyMMddTHHmmssZ}", DateTime.Now.AddMinutes(+660)));
            str.AppendLine("LOCATION: " + "abcd");
            str.AppendLine(string.Format("UID:{0}", Guid.NewGuid()));
            str.AppendLine(string.Format("DESCRIPTION:{0}", "MY DESCRIPTIOsN"));
            str.AppendLine(string.Format("X-ALT-DESC;FMTTYPE=text/html:{0}", "MY DESCRIPTION"));
            str.AppendLine(string.Format("SUMMARY:{0}", "SUBJECT"));
            str.AppendLine(string.Format("ORGANIZER:MAILTO:{0}", "Avenue 55"));

            str.AppendLine(string.Format("ATTENDEE;CN=\"{0}\";RSVP=TRUE:mailto:{1}", "msg.To[0].DisplayName", "msg.To[0].Address"));

            str.AppendLine("BEGIN:VALARM");
            str.AppendLine("TRIGGER:-PT15M");
            str.AppendLine("ACTION:DISPLAY");
            str.AppendLine("DESCRIPTION:Reminder");
            str.AppendLine("END:VALARM");
            str.AppendLine("END:VEVENT");
            str.AppendLine("END:VCALENDAR");

            byte[] byteArray = System.Text.Encoding.ASCII.GetBytes(str.ToString());
            MemoryStream stream = new MemoryStream(byteArray);
           var filesList = new string [] { stream.ToString() };

           string body = "hey123";
            

            WebMail.Send(to: email,
                subject: "Hey111",
                body:  "test",
                filesToAttach: filesList);
    }
    
   

【问题讨论】:

    标签: c# email razor asp.net-webpages


    【解决方案1】:

    System.Web.Helpers.WebMailSend方法包含一个filesToAttach参数,该参数采用表示要附加的文件名称的字符串集合。它不支持将流添加为附件。它只是为了满足简单的场景而设计的。

    您最好使用来自System.Net.Mail 的MailMessage 和SmtpClient 类并以这种方式创建您的电子邮件:Attach a file from MemoryStream to a MailMessage in C#

    【讨论】:

      猜你喜欢
      • 2021-08-10
      • 2019-12-26
      • 2021-05-07
      • 2020-02-02
      • 1970-01-01
      • 2020-11-23
      • 2020-07-24
      • 1970-01-01
      • 2019-01-16
      相关资源
      最近更新 更多