c# - 使用 SMPT 客户端发送带有日历邀请的电子邮件
问题描述
我四处搜索并得到了此代码,电子邮件已发送,但电子邮件没有附件,任何想法有什么问题/为什么没有附加
public static void SendCalendarInvite(DateTime startTime, DateTime endTime)
{
var sc = new SmtpClient("smtp.sendgrid.net", 587);
MailMessage msg = new MailMessage
{
From = new MailAddress("luke.taylor@domain.com", "Luke Taylor")
};
msg.To.Add(new MailAddress("luke.taylor@domain.com", "Luke Taylor"));
msg.Subject = "Send Calendar Appointment Email";
msg.Body = "Here is the Body Content";
StringBuilder str = new StringBuilder();
str.AppendLine("BEGIN:VCALENDAR");
str.AppendLine("PRODID:-//Luke Taylor Test");
str.AppendLine("VERSION:2.0");
str.AppendLine("METHOD:REQUEST");
str.AppendLine("BEGIN:VEVENT");
str.AppendLine(string.Format("DTSTART:{0:yyyyMMddTHHmmssZ}", startTime));
str.AppendLine(string.Format("DTSTAMP:{0:yyyyMMddTHHmmssZ}", DateTime.Now));
str.AppendLine(string.Format("DTEND:{0:yyyyMMddTHHmmssZ}", endTime));
str.AppendLine("LOCATION: Manchester");
str.AppendLine(string.Format("UID:{0}", Guid.NewGuid()));
str.AppendLine(string.Format("DESCRIPTION:{0}", msg.Body));
str.AppendLine(string.Format("X-ALT-DESC;FMTTYPE=text/html:{0}", msg.Body));
str.AppendLine(string.Format("SUMMARY:{0}", msg.Subject));
str.AppendLine(string.Format("ORGANIZER:MAILTO:{0}", msg.From.Address));
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");
var ct = new System.Net.Mime.ContentType("text/calendar");
ct.Parameters.Add("method", "REQUEST");
AlternateView avCal = AlternateView.CreateAlternateViewFromString(str.ToString(), ct);
msg.AlternateViews.Add(avCal);
sc.Credentials = Credentials;
sc.Send(msg);
}
我希望收到一封带有日历邀请的电子邮件,目前只是收到一封电子邮件
解决方案
推荐阅读
- firebase - forEach 循环内的 Firestore 事务失败
- python - 在 gekko 中定义最大函数时出错
- javascript - 用java脚本改变颜色第二个按钮
- spring-boot - nodeBuilder() 已被 Elasticsearch 删除,但 spring-data-elasticsearch 文档仍然包含使用 nodeBuilder() 的配置
- python - 如何在 Python 中使用 cv::RotatedRect
- c++ - 如何从另一个类按钮更改 CurrentIndex
- python - 如何在 AngularJS 应用程序中定位元素?
- java - 每当我调用“InsertionSort”方法时,输出文件显示为空?我应该在哪里调用这个方法?
- sql - 如何在此代码中正确使用 Export-Csv
- mysql - 地址簿:将“至少一个列表就够了”查询转换为“所有列表都需要存在”