从特定服务器发送电子邮件给套接字禁止错误 [英] Sending email from specific server gives socket forbidden error

查看:105
本文介绍了从特定服务器发送电子邮件给套接字禁止错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我收到这个错误
尝试以某种方式访问​​套接字时,该方法被从godaddy服务器发送电子邮件时被其访问权限xxx.xxx.xxx.xxx:587禁止。

I get this error An attempt was made to access a socket in a way forbidden by its access permissions xxx.xxx.xxx.xxx:587 when sending email from a godaddy server.

我看到很多这样的问题,但这里有什么独特之处在于,此代码适用于本地计算机。它也适用于我的其他Go daddy托管服务器。

I have seen many questions like this but what's unique here is that, this code works on my local computer. It also works on my other Go daddy hosting Server.

此原始服务器具有TLS 1.0,因为我需要TLS 1.2,我购买了一个豪华的托管计划,并将我的代码移动到这个新服务器,然后我开始得到这个错误。我搜索到任何地方,并使用端口587,465,25的每个组合以及ssl = false或true。

This original server has TLS 1.0, because i needed TLS 1.2, I purchased a deluxe hosting plan and moved my code to this new server, then i start getting this error. I've searched everywhere and used every combination of port 587, 465, 25 along with ssl = false or true.

有什么想法吗?

        using (SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587)) 
        {

            MailMessage mail = new MailMessage();
           smtpClient.UseDefaultCredentials = false;

           smtpClient.Credentials = new NetworkCredential("********@gmail.com", "********");
            smtpClient.EnableSsl = true;
            string fromEmail = "********@gmail.com";
            mail.From = new MailAddress(fromEmail, "System");
            mail.To.Add(new MailAddress(toEmail));
            mail.Body = body.ToString();
            mail.Subject = subject;               
            smtpClient.Send(mail);
        }


推荐答案

似乎Godaddy正在阻止当您使用外部smtp(如smtp.gmail.com)时,从其服务器发送的电子邮件。至少看起来像这个Plesk主机账号的情况。其他经济托管服务与Gmail smtp相当。
此外,电子邮件只会从Godaddy服务器发送,在Visual Studio上本地运行代码时发生错误。
我更改了我的代码:

It seems like Godaddy is blocking emails from its servers when you use an outside smtp like smtp.gmail.com. At least that seems like the case with this Plesk Hosting Account. The other Economy Hosting works well with Gmail smtp. Also, the emails will only send from Godaddy server, running the code locally on Visual studio gave an error. I changed my code to this:

  using (SmtpClient smtpClient = new SmtpClient("relay-hosting.secureserver.net", 25))
            {

                MailMessage mail = new MailMessage();
                smtpClient.Credentials = new NetworkCredential("yourdomain@yourdomain.com", "****");
                smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
                string fromEmail = "yourdomain@yourdomain.com";
                mail.From = new MailAddress(fromEmail, "Name");
                mail.To.Add(new MailAddress(toEmail));
                mail.Body = body.ToString();
                mail.Subject = subject;
               smtpClient.Send(mail);
            }

这篇关于从特定服务器发送电子邮件给套接字禁止错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆