在GoDaddy上通过gmail SMTP发送电子邮件

这可能吗? 我可以通过localhost发送,但在godaddy上,电子邮件不会被发送。 有没有人设法实现这一目标?

我正在使用C#

似乎GoDaddy阻止了gmail的smtp访问所需的SSL端口。 这意味着你现在运气不好。 你可以使用GoDaddy的本地中继:

relay-hosting.secureserver.net没有凭据。

http://help.godaddy.com/article/955

我可以使用web.config中的这些设置通过GoDaddy发送电子邮件:

          

而这段代码:

 var SmtpClient = new SmtpClient(); SmtpClient.Send("emailaccount@yourdomain.com", "to@whatever.com", "subject", "body"); 

注意我相信您发送的电子邮件中的发件人地址必须来自您的域名。 我尝试从另一个域发送电子邮件并收到错误消息。

您必须确保在GoDaddy中有一个电子邮件帐户,您可以登录并转到产品>电子邮件>电子邮件计划进行检查。 您还必须确保SMTP中继已打开,默认情况下它已打开。 同样重要的是,默认情况下我的GoDaddy帐户只允许我每天发送250封电子邮件。

我正在使用GoDaddy上的ASP.Net MVC 3创建一个简单的联系表单。 我希望能够将电子邮件发送到Google Apps上托管的帐户。 这个问题符合我的情况,但只有这篇GoDaddy帮助文章真正解决了我的问题。 希望它可以帮助别人!

文章中的代码示例:

  // language -- C# // import namespace using System.Web.Mail; private void SendEmail() { const string SERVER = "relay-hosting.secureserver.net"; MailMessage oMail = new System.Web.Mail.MailMessage(); oMail.From = "emailaddress@domainname"; oMail.To = "emailaddress@domainname"; oMail.Subject = "Test email subject"; oMail.BodyFormat = MailFormat.Html; // enumeration oMail.Priority = MailPriority.High; // enumeration oMail.Body = "Sent at: " + DateTime.Now; SmtpMail.SmtpServer = SERVER; SmtpMail.Send(oMail); oMail = null; // free up resources } 

这似乎是一个常见问题。

有两件事需要。

  • 添加将用于身份validation的用户。 您无法通过GoDaddy匿名发送
  • 请遵循此处指定的配置。

这应该使它正常工作。

对于仍在寻找答案的人,试试这个

 smtp.Host = "relay-hosting.secure.net"; smtp.EnableSsl = false; smtp.UseDefaultCredentials = false; smtp.Port = 25; 

当使用Godaddy的中继托管时,来自电子邮件地址的电子邮件对象必须是Godaddy“白名单”电子邮件。

他们这样做是为了阻止垃圾邮件发送者劫持帐户

有一种使用中继主机的替代方案

使用GoDaddy表单邮件程序,(Google Serach:“_ gdForm / webformmailer.asp”)

这个替代方案可用于发送预先指定的“邮件邮件”电子邮件帐户所有的Web表单,它确实有效! 但确实需要在GoDaddy上设置一些hosting.content.form-mailer。

看看我是如何使用表格邮件的:

(唯一的问题是,它消除了编写订阅/取消订阅XML数据库的能力,因为表单数据被发送到这个无法访问的ASP文件)所以我最终可能会恢复使用ASP.NET中的中继托管

http://www.earthed.net.au \ News.aspx http://www.earthed.net.au \ Contact.aspx http://www.earthed.net.au \ Support.aspx

我的最终目标是从joe@blogs.com收到一封电子邮件,其中包含必填表格字段数据,但无论您如何运行,您的主机提供商的安全设置最终将决定您执行此操作的能力。

还尝试使用谷歌和Hotmail smtp主机(因为我有一个帐户与每个)和相同的限制故事,可能是一个鲜为人知的免费网络电子邮件提供商,具有较低的安全设置,允许完全中继托管(如果是这样,让我知道)

我最后一次尝试这样做(可能是2011年初),我无法以编程方式从GoDaddy的Gmail帐户发送出去。 我把代码完全相同的代码在不同的托管公司的服务器上工作,并且在GoDaddy的服务器上失败了所以我非常有信心代码不是问题。

我打电话给他们的技术支持并得到了相互矛盾的信息,但我听到足以说服自己通过Gmail发送并不是GoDaddy服务器上肯定支持的服务。

我还获得了使用他们的网络电子邮件表单的解决方法选项,这完全不是我正在使用的项目可以使用的,并强调了GoDaddy没有完全理解他们所谈论的内容的观点。

最后,我发现我能够使用GoDaddy的SMTP服务器并插入我自己的“发件人”地址,这样我就可以将邮件发送到任何电子邮件地址并欺骗原始电子邮件地址。 因此,他们最终会锁定合法的电子邮件function,而是强迫您使用高度可滥用的系统。

再说一次,这是我刚遇到这个问题但是很容易检查它们是否仍然允许你使用他们的SMTP服务器发送电子邮件。

我认为你最好的办法就是找另一位主持人。 当我在godaddy上为一个网站编码时,我记得问godaddy他们是否禁用了他们的mapifunction,结果发现他们做的不仅仅是禁用它。 我听说他们过滤了特定的传出端口。

这里几乎忘了谷歌的详细说明。 以上工具会自动更改8-)

http://www.google.com/support/a/bin/answer.py?hl=en&answer=33353

本规范有效

 // Create the msg object to be sent MailMessage msg = new MailMessage(); // Add your email address to the recipients msg.To.Add("mr@soundout.net"); // Configure the address we are sending the mail from MailAddress address = new MailAddress("mr@soundout.net"); msg.From = address; msg.Subject = txtSubject.Text; msg.Body = txtName.Text + "n" + txtEmail.Text + "n" + txtMessage.Text; SmtpClient client = new SmtpClient(); client.Host = "relay-hosting.secureserver.net"; client.Port = 25; // Send the msg client.Send(msg); 

在遇到您在问题中描述的相同问题后,我终于找到了解决方案。

检查web.config文件,并确保在发布网站时将debug属性设置为false。 让我知道这个是否奏效。 它对我有用。

        

我正在尝试类似的东西,只是重置电子邮件和注册电子邮件,不得不将$header更改为noreply@zzz.com以匹配网站地址。 不需要SMTP ,只需要永远接收电子邮件….仍在进行中。

  $subject = "Please reset your password"; $message = " Here is your password reset code {$validation_code} Click here to reset your password http://www.zzz.com/Login_App/code.php?email=$email&code=$validation_code "; $headers = "From: noreply@zzz.com";