【发布时间】:2011-01-22 04:53:51
【问题描述】:
我想向任何电子邮件地址发送邮件,如何使用 C# 来实现。我正在本地主机上工作。
【问题讨论】:
我想向任何电子邮件地址发送邮件,如何使用 C# 来实现。我正在本地主机上工作。
【问题讨论】:
System.Net.Mail.MailMessage message=new System.Net.Mail.MailMessage(
new MailAddress(EmailUsername), new MailAddress("toemailaddress"));
message.Subject = "Message Subject"; // E.g: My New Email
message.Body = "Message Body"; // E.g: This is my new email ... Kind Regards, Me
对于 SMTP 部分,也可以使用SmtpClient:
SmtpClient client = new SmtpClient(ServerIP);
client.Credentials = new System.Net.NetworkCredential(EmailUsername, EmailPassword);
client.Send(message);
请考虑接受一些答案。 0% 的接受率并不好。
已编辑以修复愚蠢的错误。为我服务,因为我没有先检查代码。
【讨论】:
System.Web.Mail 已被弃用。
To 属性是一个集合,From 不是字符串。
SmtpClient client = new SmtpClient() 然后使用 web.config 进行配置 <mailSettings> <smtp from="me@my.net"> <network host="myhost.com" password="if needed" userName="if neede"/> </smtp> </mailSettings>
您可以使用SmtpClient 类并使用MailMessage 实例调用Send(或SendAsync)。这两个类都在 System.Net.Mail 命名空间中。
SmtpClient 的 default constructor 使用 app/web.config 中的 configuration,但您可以使用 other constructors 指定所需的 SMTP 设置。
// using System.Net.Mail;
SmtpClient client = new SmtpClient();
MailMessage mm = new MailMessage()
{
Subject = "Subject here",
Body = "Body here"
};
mm.To.Add("email@tempuri.org");
mm.From = new MailMessage("from@tempuri.org");
client.Send(mm);
【讨论】:
补充一点,有一个非常不错的网站,其中包含您应该了解的所有内容 System.Net:Mail 命名空间
它被称为:
希望它能帮助像从那时起一直在帮助我的人:)
【讨论】:
这是发送带有附件的电子邮件
using System.Net;
using System.Net.Mail;
public void email_send()
{
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
mail.From = new MailAddress("your mail@gmail.com");
mail.To.Add("to_mail@gmail.com");
mail.Subject = "Test Mail - 1";
mail.Body = "mail with attachment";
System.Net.Mail.Attachment attachment;
attachment = new System.Net.Mail.Attachment("c:/textfile.txt");
mail.Attachments.Add(attachment);
SmtpServer.Port = 587;
SmtpServer.Credentials = new System.Net.NetworkCredential("your mail@gmail.com", "your password");
SmtpServer.EnableSsl = true;
SmtpServer.Send(mail);
}
【讨论】:
试试这个...
public static void Send(string pFrom, string pSubject, string pTo, string pBody)
{
System.Net.Mail.MailMessage loMail = new System.Net.Mail.MailMessage();
System.Net.NetworkCredential loCredencial = new System.Net.NetworkCredential(MAIL_USERNAME, MAIL_PASSWORD);
loMail.To.Add(pTo);
loMail.Subject = pSubject;
loMail.From = new System.Net.Mail.MailAddress(pFrom);
loMail.IsBodyHtml = true;
loMail.Body = pBody;
System.Net.Mail.SmtpClient loSmtp = new System.Net.Mail.SmtpClient(MAIL_SMTP);
loSmtp.UseDefaultCredentials = false;
loSmtp.Credentials = loCredencial;
loSmtp.Port = MAIL_PORT;
loSmtp.Send(loMail);
}
【讨论】:
如果您使用的是 ASP.Net MVC,我建议您查看 MvcMailer
【讨论】:
使用这个。
private static void SendMail(string subject, string content)
{
try
{
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
mail.From = new MailAddress("YOURMAİL");
mail.To.Add("MAİLTO");
mail.Subject = subject;
mail.Body = content;
SmtpServer.Port = 25;
SmtpServer.Credentials = new System.Net.NetworkCredential("YOURMAİL", "YOURMAİLPASSWORD");
SmtpServer.EnableSsl = true;
SmtpServer.Send(mail);
}
catch (Exception ex)
{
}
}
并且不要忘记添加 ---using System.Net.Mail;---
【讨论】: