我正在尝试创建一个小型桌面应用程序,向办公室内的人员(所有内部人员)发送电子邮件。我的应用程序将运行在也在网络上的PC上,并且用户将为自己的电子邮件运行Outlook。
我正在看几个你需要SmtpClient的例子,它需要等于一个主机。有没有办法可以设置它来使用本地机器?
MailMessage mailObj = new MailMessage("admin@network.com",
reader["recipientAddress"].ToString(), "Subject", "Body");
SmtpClient SMTPServer = new SmtpClient("127.0.0.1");
SMTPServer.Send(mailObj);
我读到127.0.0.1是本地机器。这会有用,还是有不同的方法来解决这个问题?
如果它向外部电子邮件发送消息,我的消息也会消失吗?
答案 0 :(得分:1)
您必须在localhost上安装SMTP服务器才能发送邮件。
Outlook仅通过POP3或IMAP等接收电子邮件
编辑: 即你需要
您的公司邮件服务器通常应该同时执行这两项操作。
EDIT2:
您可以作弊并使用SMTPClient
直接将邮件发送到接收方的邮箱服务器。
尝试解析MX记录(请参阅How to get mx records for a dns name with System.Net.DNS?)并直接创建SMTPClient
返回的最佳MX服务器。
如果Microsoft实施了足够的SMTP规范并且您的主机不被视为发送垃圾邮件,则邮件应该通过。