通过mvc3应用程序发送电子邮件
问题描述:
我使用的是MVC3,需要向用户发送电子邮件。我不想使用Gmail服务器。但是,我确实想使用服务器10.1.70.100。我不明白我做错了什么。这里是我的代码:通过mvc3应用程序发送电子邮件
var fromAddress = new MailAddress("[email protected]", "From Name"); var toAddress = new MailAddress(EmailID, "To Name");
const string fromPassword = "";//To be Filled
const string subject = "Verification Mail";
string body = "You have successfully registered yourself. Please Enter your Verification code " + code.ActivatedCode;
var smtp = new SmtpClient
{
Host = "10.1.70.100",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
Credentials = new NetworkCredential(),
Timeout = 100000
};
using (var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = body
})
{
smtp.Send(message);
}
有人能提出一个方法,通过它,我没有给我的凭据?
答
对于我们的OSS项目,我们使用这个小帮手。希望能帮助到你。
public void SendEmail(string address, string subject, string message)
{
string email = ConfigurationManager.AppSettings.Get("email");
string password = ConfigurationManager.AppSettings.Get("password");
string client = ConfigurationManager.AppSettings.Get("client");
string port = ConfigurationManager.AppSettings.Get("port");
NetworkCredential loginInfo = new NetworkCredential(email, password);
MailMessage msg = new MailMessage();
SmtpClient smtpClient = new SmtpClient(client, int.Parse(port));
msg.From = new MailAddress(email);
msg.To.Add(new MailAddress(address));
msg.Subject = subject;
msg.Body = message;
msg.IsBodyHtml = true;
smtpClient.EnableSsl = true;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = loginInfo;
smtpClient.Send(msg);
}
答
我更喜欢下面的方式这样做:
Web.config文件:
<system.net>
<mailSettings>
<smtp from="Description">
<network host="your.smtpserver" password="" userName="" />
</smtp>
</mailSettings>
</system.net>
您的代码:
var smtpClient = new SmtpClient();
smtpClient.Send(mail);
茹里:感谢名单的答复BTü可以建议我sumthing通过我不需要给我的证书? – priya77 2012-04-23 12:37:28
使用服务帐户,我们有一个域名服务帐户,所有电子邮件都通过noreply @ domain – 2012-04-23 13:07:56
发送,使用凭据取决于邮件服务器配置。 gmail等服务使用ssl和证书来发送电子邮件acc。有些托管服务提供商提供不带ssl和凭证的pop访问权限,但您必须要求其客户支持。我同意@CDSmith并建议您创建应用程序将使用的服务电子邮件,这将大大提高您的安全性。如果noreply不是选项创建邮件地址,则您将转发给自己的邮件,并继续使用受保护的个人电子邮件与客户进行通信。 – 2012-04-23 13:30:57