我正试图发送一封电子邮件,以帮助我们在使用网络表单创建了一个裸寄存器后发送通知,但实际上该消息并未发送,而是停留在Queue文件夹中。
这是我的代码:
public string sendMail() {
try {
m.From = new MailAddress("senderEmail@mycompanydomain.com");
m.To.Add(new MailAddress("receiver1@mycompanydomain.com"));
m.To.Add(new MailAddress("receiver2@mycompanydomain.com"));
m.Body = "My message content";
m.IsBodyHtml = true;
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.UseDefaultCredentials = false;
smtp.Host = "localhost";
smtp.UseDefaultCredentials = true;
smtp.Port = 25;
smtp.Credentials = new NetworkCredential("senderEmail@mycompanydomain.com", "password");
smtp.Send(m);
return "Email sent successfully";
}
catch (Exception e) {
Console.WriteLine(e.StackTrace);
return e.StackTrace + " \n " + e.InnerException.ToString() + " \n " + e.Message.ToString() + " End;";
}
}
有关更多信息,我的Web项目在SQL Server上发布,我使用IIS托管它。我已经设置了smtp服务器,并在防火墙上打开了25端口。
但是,在此服务器上,我没有DSN,因为它属于IT部门控制的公司网络,并且他们拥有自己的DNS来管理整个公司。
我只有一个电子邮件帐户,我使用Outlook将电子邮件发送到Intranet内部的另一个帐户,但手动进行。该服务器没有用于公司安全策略的Internet连接。
如果能找到解决此问题的方法,我将不胜感激。
谢谢。