【问题标题】:Email not working from Godaddy Server电子邮件无法从 Godaddy 服务器工作
【发布时间】:2015-07-31 21:51:42
【问题描述】:

首先,我希望在正确的地方,如果不是这种情况,我提前道歉,请重新定位自己。

所以我有一个担心,我有一个网站 www.artipik.com 有两种表格,在线报价和联系表格。

我的网站由 godaddy 托管,服务器在夏季更新了 15 天,我的表单不再有效,这让我处于一个非常有问题的位置。我是平面设计师而不是编码员,因此我的困难改变了代码。

我有 Godaddy 技术服务,他给了我,我认为这是解决方案的一部分。我找到了更改代码的地方,但我似乎不适合,我正在测试,我没有进一步的错误消息,但我没有收到我发送的任何电子邮件。

我目前的ASP代码如下:

<%
'-----version CDONTS-----
Set Mail = Server.CreateObject("CDONTS.NewMail")
Mail.BodyFormat = 1     '0:html/1:plain text
Mail.MailFormat = 1     '0:MIME/1:plain text
Mail.From = envoyeur
Mail.To = receveur
if copie<>vbnullstring then Mail.Bcc = copie
if sujet=vbnullstring then sujet="Formulaire de contact Artipik.com"
Mail.Subject = sujet
Mail.Body = message
Mail.Send
set Mail=Nothing
'response.cookies("email")=envoyeur
%>

我必须适应的新代码如下(Using CDOSYS to Send Email from Your Windows Hosting Account)

// 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
}

感谢您的帮助。

朱利安

【问题讨论】:

  • 请不要标记无关的语言
  • 基本调试:确认您的代码正在发送邮件。如果是,那么您必须向上游移动并弄清楚处理电子邮件的邮件服务器发生了什么。例如你的代码相当于走到街角,把一个信封扔进邮箱。如果那个邮箱后来被失控的坦克碾过,那不是你的代码的错。
  • 对不起,这是一个错误
  • 我有一个确认消息发送的弹出窗口,但我什么也没得到

标签: asp.net forms email contact


【解决方案1】:

System.Web.Mail.MailMessageobsolete。您应该改用System.Net.Mail.MailMessage。它的工作原理几乎完全相同(警告!未经测试):

private void SendEmail()
{
    using (var message = new MailMessage())
    {
        message.From = new MailAddress("emailaddress@domainname");
        var toAddress = new MailAddress("emailaddress@domainname");
        message.To.Add(toAddress);
        message.Subject = "Test email subject";
        message.Body = "Sent at: " + DateTime.Now;
        message.Priority = MailPriority.High;
        message.IsBodyHtml = true;

        SmtpClient smtp = new SmtpClient();
        smtp.Send(message);
    }
}

将此添加到您的 web.config:

<configuration>
    <system.net>
        <mailSettings>
            <smtp from="emailaddress@domainname">
                <network host="your-smtp-host-address" />
            </smtp>
        </mailSettings>
    </system.net>
</configuration>

【讨论】:

  • 它通常位于您网站的根目录中。如果没有,您可以创建一个空文本文件并添加 &lt;configuration&gt;&lt;/configuration&gt;
  • 感谢您的帮助 garry,我要求很多,但是您可以帮我写代码吗?我恐慌
  • 对于 web.config 文件?您只需将 system.net 部分放在&lt;configuration&gt;...&lt;/configuration&gt; 标记内,代码示例就会提取它。查看编辑
  • 不仅是这部分,还有我必须添加的代码,我不知道我必须在 cdosys 的新代码中更改什么,我不是编码员
  • 我在这里添加的应该可以工作。您只需要输入您的 smtp 地址并相应地更改电子邮件地址。试试看,如果它不起作用,请告诉我们。
【解决方案2】:

最近遇到了同样的问题,可以通过下一个方法解决:

在 web.config 中:

<system.net>
<mailSettings>
  <smtp from="contacto@mydomain.com">
    <network host="relay-hosting.secureserver.net" password="MyPass" port="25" enableSsl="false" defaultCredentials="false" userName="contacto@mydomain.com"/>
  </smtp>
</mailSettings>
 </system.net>

在代码隐藏中:

       MailMessage m = new MailMessage();
        m.IsBodyHtml = true;
        m.Body = "My Message";
        m.To.Add("jhon.doe@yahoo.com");
        m.Subject = "Go Daddy Emails Go Live!";
        SmtpClient smtp = new SmtpClient();
        smtp.Send(m);

【讨论】:

    猜你喜欢
    • 2016-12-11
    • 1970-01-01
    • 1970-01-01
    • 2015-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多