我希望通过我的asp.net应用程序接收电子邮件到我的电子邮件地址。它就像通过表格发送查询的人。我已经使用了以下代码,似乎没有做任何事情。我记得我做过我的一个网站,不记得我是怎么做到的。请找到以下代码。
谢谢,
eMessage.To = "info@boilernetworkservices.co.uk"
eMessage.From = txtEmail.Text
eMessage.Subject = "Web Submission"
eMessage.Body = "Web submission received from " & txtName.Text & ". Phone no: " & txtPhone.Text & "."
eMessage.Priority = MailPriority.High
SmtpMail.Send(eMessage)
我怎样才能使这个工作?
答案 0 :(得分:8)
您的示例代码显示了如何使用SMTP发送电子邮件,但您将无法使用此协议从远程服务器检索电子邮件。
用于检索电子邮件的两种最常见的协议是POP3和IMAP4,不幸的是,.NET框架并没有像使用SMTP一样提供它们的实现。
电子邮件检索的一个选项是使用开源POP3客户端OpenPop.NET,这在此SO问题中讨论:retrieve email using c#?。
答案 1 :(得分:0)
我为我的公司设置了一个Google帐户,例如myCompanyName@gmail.com。 我将其用作中继。 您必须将Google帐户设置为“允许安全程度较低的应用程序”。
这是我的代码,让潜在客户填写我们的联系信息并将其发送给我(即使在发布到Azure时也可以使用):
private void SendEmailToMyCompany(ContactInfo contactInfo)
{
string message = contactInfo.Message.Replace("\n", "<br />");
MailAddress from = new MailAddress(contactInfo.Email);
MailAddress to = new MailAddress("myhotmailaccount@hotmail.com");
MailMessage mailMessage = new MailMessage(from, to);
StringBuilder body = new StringBuilder();
body.AppendFormat($"<b>First Name:</b> {contactInfo.FirstName}");
body.Append("<br />");
body.AppendFormat($"<b>Last Name:</b> {contactInfo.LastName}");
body.Append("<br />");
body.AppendFormat($"<b>Phone:</b> {contactInfo.Phone}");
body.Append("<br />");
body.AppendFormat($"<b>Email:</b> {contactInfo.Email}");
body.Append("<br />");
body.AppendFormat($"<b>Message:</b><br /><br /> {message}");
mailMessage.Body = body.ToString();
mailMessage.Subject = "MyCompany Customer Contact";
mailMessage.IsBodyHtml = true;
string smtpHost = _config["EmailSettings:SmtpHost"];
string port = _config["EmailSettings:Port"];
string userName = _config["EmailSettings:UserName"];
string password = _config["EmailSettings:Password"];
SmtpClient client = new SmtpClient(smtpHost)
{
Port = int.Parse(port),
Credentials = new NetworkCredential(userName, password),
EnableSsl = true
};
client.Send(mailMessage);
}
然后这是来自app.config的我的电子邮件设置:
"EmailSettings": {
"SmtpHost": "smtp.gmail.com",
"Port": 587,
"UserName": "myCompanyNameGmailAccount@gmail.com",
"Password": "**********"
}