MailMessage mail = new MailMessage("test@gmail.com","me@myurl.com"); mail.Subject = "This is a test!!"; mail.Body = "testing..."; SmtpPermission connectAccess = new SmtpPermission(SmtpAccess.Connect); System.Console.WriteLine("Access? " + connectAccess.Access); SmtpClient client = new SmtpClient("mail.myurl.com",2525); client.Send(mail);
它不起作用.我在“client.Send(mail)”行显示“邮箱不可用.服务器响应是(MYLOCALCOmpuTERNAME)[我的本地IP]:3045目前不允许中继通过.”
connectAccess.Access确实返回“连接”(我不确定这是否必要……我已将其添加进入以启动故障排除过程.)
这是否意味着我的本地机器必须以某种方式配置?当我将我的应用程序部署到其他人机器时呢?那里需要本地配置吗?我只是想从我的应用程序创建一个“发送反馈”类型的链接.
(注意:在我的实际应用程序中,我使用的是“to”和“from”中的真实电子邮件地址,而我的smtp实际上是我托管我的网址/网站的地方的smtp地址)
谢谢!
-Adeena
解决方法
我想我弄明白了我的问题.在创建“客户端”对象后,我确实需要添加登录凭据.我添加了以下行:
client.Credentials = new System.Net.NetworkCredential("myloginat+myurl.com","mypassword");
(对不起 – 我有这个习惯,我在网上搜索答案后,通过我的手册2小时后,我终于打破并发布问题,然后5分钟后弄明白.:)我认为写作的行为这个问题比其他任何事都更有帮助)
所以它正在工作……虽然我不会声称我理解它的工作方式和原因,所以我确实会遇到一些问题,因为我将程序交给其他人使用.即,每个使用具有互联网连接的程序的人都可以打开这个smtp连接到我的服务器吗?我不知道答案……我将不得不等待,看到并学习更多.
谢谢!
原文地址:https://www.jb51.cc/csharp/91476.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。