我正在创建一个电子邮件客户端,它从服务器IP而不是SMTP发送电子邮件地址,我编写了该代码:
SmtpClient server = new SmtpClient("50.23.128.66");
MailMessage msg = new MailMessage("from@yahoo.com", "tome@yahoo.com", "subject", "body");
server.Send(msg);
但是当我运行它时,我得到了这个错误:
未处理的异常:System.Net.Mail.SmtpFailedRecipientException:邮箱不可用。服务器响应为:5.7.1中继拒绝。 在System.Net.Mail.SmtpTransport.SendMail(MailAddress sender,MailAddressColl ection recipients,String deliveryNotify,SmtpFailedRecipientException&例外)
*顺便说一句,我使用的是Windows Server 2008 * 我将smtp服务器配置为localhost和端口25,但我不知道该依赖错误是什么。
答案 0 :(得分:3)
如果您使用localhost依赖电子邮件,则应该使用127.0.0.1或localhost而不是您在代码中发布的IP地址。
答案 1 :(得分:1)
中继是SMTP服务器用于验证它应该从特定发件人路由电子邮件的方法。 “开放中继”表示没有身份验证,SMTP服务器将发送从任何人发送的电子邮件。这不是一个好的做法,并且可能在此特定SMTP服务器上进行身份验证的某些机制,例如用户名和密码,甚至是发件人的IP地址。请与SMTP服务器的管理员联系,以查看所需内容。我认为至少你需要设置用户名和密码,你在代码示例中没有这样做。