如何将MailMessage对象保存到磁盘?MailMessage对象不公开任何Save()方法.
如果以任何格式保存*.eml或*.msg,我都没有问题.知道怎么做吗?
我有多个电子邮件收件人存储在Sql Server中.当我点击网页上的发送时,它应该向所有收件人发送电子邮件.我使用';'分隔了电子邮件.
以下是单个收件人代码.
MailMessage Msg = new MailMessage();
MailAddress fromMail = new MailAddress(fromEmail);
Msg.From = fromMail;
Msg.To.Add(new MailAddress(toEmail));
if (ccEmail != "" && bccEmail != "")
{
Msg.CC.Add(new MailAddress(ccEmail));
Msg.Bcc.Add(new MailAddress(bccEmail));
}
SmtpClient a = new SmtpClient("smtp server name");
a.Send(Msg);
sreader.Dispose();
Run Code Online (Sandbox Code Playgroud) 我有一个发送电子邮件(MailMessage)的类,但我收到以下错误:
"指定的字符串不是主题所需的形式."
是否有一个方便的花花公子方法来消毒字符串或我必须自己编写?
我试图添加多个这样的地址.
MailAddress mailAddressTo = new MailAddress("sample@google.com;sample1@google.com","Vetrivelmp");
Run Code Online (Sandbox Code Playgroud)
但抛出错误就像
An invalid character was found in the mail header: ';'
Run Code Online (Sandbox Code Playgroud) string to = "email@hotmail.co.uk";
string body = "Test";
SmtpClient SMTPServer = new SmtpClient("127.0.0.1");
MailMessage mailObj = new MailMessage(urEmail, to, subject, body);
SMTPServer.Send(mailObj);
Run Code Online (Sandbox Code Playgroud)
这就是我目前发送测试电子邮件的方式.我如何制作这个HTML并能够通过添加图像等使发送的电子邮件看起来更好?
谢谢
通过在MailDefinition类上调用"CreateMailMessage"方法创建MailMessage对象时,第三个参数是System.Web.UI.Control类型的对象.
MailDefinition mail = new MailDefinition();
ListDictionary replacements = new ListDictionary();
replacements.Add("<%myname%>", "John");
mail.BodyFileName = "~/App_Data/Emails/SomeEmail.txt";
mail.From = "me@example.com";
mail.Subject = "Hello";
MailMessage message = mail.CreateMailMessage("example@example.com,", replacements, );
Run Code Online (Sandbox Code Playgroud)
这是为什么?
如果我没有这种类型的对象,我应该通过什么呢?只是一个新的Control对象?
Control control = new Control();
Run Code Online (Sandbox Code Playgroud)
UPDATE
我强烈建议使用Razor构建电子邮件模板.它具有很好的语法,效果很好,并且没有任何奇怪的依赖!
在Windows窗体项目中,我使用SmtpClient和MailMessage类来通过电子邮件发送信息.
Windows Phone 8是否有相同的功能?
我正在尝试发送密码重置电子邮件,但我无法确定如何指定发件人的地址.
这是我正在尝试做的事情:
MailMessage mail = new MailMessage();
mail.From.Address = "support@mycompany.com";
mail.To.Add(Email);
mail.Subject = "Forgot Password";
mail.Body = "<a href=\"" + url + "\">Click here to reset your password.</a>";
SmtpClient smtp = new SmtpClient();
smtp.SendAsync(mail, null);
Run Code Online (Sandbox Code Playgroud)
我确信这是可能的,那么我怎样才能在ASP.Net中实现这一目标?
我正在使用Exchange Server发送带有SmtpClient(正在成功发送)的MailMessages,但希望我发送的电子邮件转到我发送的电子邮件地址的已发送文件夹(未发生).
using (var mailMessage = new MailMessage("fromaddress@blah.com", "toaddress@blah.com", "subject", "body"))
{
var smtpClient = new SmtpClient("SmtpHost")
{
EnableSsl = false,
DeliveryMethod = SmtpDeliveryMethod.Network
};
// Apply credentials
smtpClient.Credentials = new NetworkCredential("smtpUsername", "smtpPassword");
// Send
smtpClient.Send(mailMessage);
}
Run Code Online (Sandbox Code Playgroud)
是否有我缺少的配置,以确保我发送的所有来自"fromaddress@blah.com"的电子邮件都到达他们的已发送文件夹?
我正在使用C#中的ASP.NET MVC 1框架创建一个应用程序,我有用户注册事件.注册后,我创建了一个Outlook会议请求
public string BuildMeetingRequest(DateTime start, DateTime end, string attendees, string organizer, string subject, string description, string UID, string location)
{
System.Text.StringBuilder sw = new System.Text.StringBuilder();
sw.AppendLine("BEGIN:VCALENDAR");
sw.AppendLine("VERSION:2.0");
sw.AppendLine("METHOD:REQUEST");
sw.AppendLine("BEGIN:VEVENT");
sw.AppendLine(attendees);
sw.AppendLine("CLASS:PUBLIC");
sw.AppendLine(string.Format("CREATED:{0:yyyyMMddTHHmmssZ}", DateTime.UtcNow));
sw.AppendLine("DESCRIPTION:" + description);
sw.AppendLine(string.Format("DTEND:{0:yyyyMMddTHHmmssZ}", end));
sw.AppendLine(string.Format("DTSTAMP:{0:yyyyMMddTHHmmssZ}", DateTime.UtcNow));
sw.AppendLine(string.Format("DTSTART:{0:yyyyMMddTHHmmssZ}", start));
sw.AppendLine("ORGANIZER;CN=\"NAME\":mailto:" + organizer);
sw.AppendLine("SEQUENCE:0");
sw.AppendLine("UID:" + UID);
sw.AppendLine("LOCATION:" + location);
sw.AppendLine("SUMMARY;LANGUAGE=en-us:" + subject);
sw.AppendLine("BEGIN:VALARM");
sw.AppendLine("TRIGGER:-PT720M");
sw.AppendLine("ACTION:DISPLAY");
sw.AppendLine("DESCRIPTION:Reminder");
sw.AppendLine("END:VALARM");
sw.AppendLine("END:VEVENT");
sw.AppendLine("END:VCALENDAR");
return sw.ToString();
}
Run Code Online (Sandbox Code Playgroud)
一旦构建,我使用MailMessage,并使用备用视图发送会议请求:
meetingInfo = BuildMeetingRequest(start, end, attendees, organizer, subject, description, UID, location);
System.Net.Mime.ContentType mimeType …Run Code Online (Sandbox Code Playgroud) c# ×10
mailmessage ×10
asp.net ×3
.net ×2
email ×2
smtpclient ×2
asp.net-mvc ×1
eml ×1
html ×1
outlook ×1
system ×1