C# 在asp.net mvc中,邮件发送代码可以在本地工作,但不能在服务器上工作
在asp.net MVC中使用google stmp发送邮件的代码在本地服务器上运行良好,但在远程服务器sage.arvixe.com上出现内部服务器错误500 这是我的控制器代码:C# 在asp.net mvc中,邮件发送代码可以在本地工作,但不能在服务器上工作,c#,asp.net-mvc,email,C#,Asp.net Mvc,Email,在asp.net MVC中使用google stmp发送邮件的代码在本地服务器上运行良好,但在远程服务器sage.arvixe.com上出现内部服务器错误500 这是我的控制器代码: string email = "**@**.com"; string password = "***"; MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient("my.smtp.se
string email = "**@**.com";
string password = "***";
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("my.smtp.server.com");
mail.From = new MailAddress(email, "Company");
mail.To.Add("something@gmail.com");
mail.Subject = "Feedback";
string body = "CompanyName " + data.CompanyName + "<br/> Contact Person Name " + data.ContactPersonName + "<br/> Designation " + data.Designation + "<br/> EmailID " + data.EmailID + "<br/> MobileCellNo " + data.MobileCellNo + "<br/> OfficePhoneNo " + data.OfficePhoneNo + "<br/> FaxNo " + data.FaxNo + "<br/> Address " + data.Address + "<br/> CityState " + data.CityState + "<br/> PostalCode " + data.PostalCode + "<br/> Country " + data.Country + "<br/> Description " + data.Description + "";
mail.Body = body;
mail.IsBodyHtml = true;
//SmtpServer.UseDefaultCredentials = false;
SmtpServer.Port =25;
SmtpServer.Credentials = new System.Net.NetworkCredential(email, password);
//SmtpServer.EnableSsl = true;
SmtpServer.Send(mail);
string email=“**@**.com”;
字符串密码=“***”;
MailMessage mail=新的MailMessage();
SmtpClient SmtpServer=新的SmtpClient(“my.smtp.server.com”);
mail.From=新邮件地址(电子邮件,“公司”);
mail.To.Add(“something@gmail.com");
mail.Subject=“反馈”;
string body=“CompanyName”+data.CompanyName+“
联系人姓名”+data.ContactPersonName+“
名称”+data.Designation+“
EmailID”+data.EmailID+“
MobileCellNo”+data.MobileCellNo+“
OfficePhoneNo”+data.OfficePhoneNo+“
FaxNo”+data.FaxNo+“
Address”+data.Address+“
CityState”+data.CityState+“
PostalCode”+data.PostalCode+“
Country”+data.Country+“
Description”+data.Description+”;
mail.Body=Body;
mail.IsBodyHtml=true;
//SmtpServer.UseDefaultCredentials=false;
SmtpServer.Port=25;
SmtpServer.Credentials=新系统.Net.NetworkCredential(电子邮件、密码);
//SmtpServer.EnableSsl=true;
发送(邮件);
对此我不确定,但似乎您必须启用SSL才能正确使用此google服务
也许你会在这方面找到更多的帮助
本教程:
或者此主题:您好,请尝试此代码,它正在工作
[HttpPost]
public ActionResult Form(string receiverEmail, string subject,string message)
{
try
{
if (ModelState.IsValid) {
var senderemail = new MailAddress("xxxxx@gmail.com", "Demo Mail");
var receiveremail = new MailAddress(receiverEmail, "Receiver");
var password = "xxxxx";
var sub = subject;
var body = message;
var smtp = new SmtpClient {
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(senderemail.Address, password)
};
using (var mess = new MailMessage(senderemail, receiveremail)
{
Subject = subject,
Body = body
})
{
smtp.Send(mess);
}
return View();
}
}
catch(Exception){
ViewBag.Error = "There is some thing went Wrong";
}
return View();
}
}
您是否需要在邮件服务器中允许服务器的IP地址?将日志添加到代码中。内部服务器错误消息不足以纠正此问题。虽然此代码片段可以解决此问题,但确实有助于提高您文章的质量。请记住,您将在将来回答读者的问题,并且ose人员可能不知道您的代码建议的原因。