0

不知道这个问题是否在其他地方被问过......

对于我正在处理的网站项目,我创建了一个 ASPX Web 表单,该表单将在单击按钮时发送包含表单内容的电子邮件。我尝试了它,当我使用 Yahoo SMTP 服务器并使用我的个人 Yahoo 电子邮件地址(+ 指定用户名和密码)进行测试时,它可以工作。

但是,当我将 SMTP 服务器用于网站的邮件消息时(在我在网站中创建新的管理员电子邮件帐户之后),它不起作用。

该网站已启动并正在运行,我可以向网站的管理员电子邮件帐户(通过雅虎)发送电子邮件,但在通过 ASPX 网络表单发送时却不行。

这是使用 Yahoo SMTP 服务器的代码,它工作正常:

    SmtpServer.Credentials = New Net.NetworkCredential("username@yahoo.com", "password")
    SmtpServer.Port = "25"
    SmtpServer.Host = "smtp.mail.yahoo.com"
    mail.From = New MailAddress("username@yahoo.com")
    mail.To.Add("username@yahoo.com")
    mail.Subject = "RE: Message Subject"
    mail.Body = "Message goes here."
    SmtpServer.Send(mail)

现在,这里是使用我的网站的 SMTP 服务器的代码,它不起作用:

    SmtpServer.Port = "25"
    SmtpServer.Host = "127.0.0.1"
    mail.From = New MailAddress("admin@awesomewebsite.org.au")
    mail.To.Add("admin@awesomewebsite.org.au")
    mail.Subject = "RE: Message Subject"
    mail.Body = "Message goes here."
    SmtpServer.Send(mail)

这些是托管网站的网络托管公司提供的正确端口和主机号。他们还说不需要用户名和密码。我也尝试将其附加到代码的开头,但它仍然无法正常工作:

    SmtpServer.Credentials = New Net.NetworkCredential()

甚至

    SmtpServer.Credentials = New Net.NetworkCredential("", "")

我真的不知道该怎么办。请帮助这个新手。任何回应表示赞赏。

顺便说一句,我在测试时收到的错误消息出现在消息框中:“发送邮件失败”。

4

2 回答 2

1

您需要在您的网站中创建一个电子邮件帐户并使用这些凭据发送邮件,就像您使用 yahoo 一样(这可以在您网站的管理门户中完成,但一些托管服务提供商会单独向您收取电子邮件服务费用) . 此外,还应提供正确的 smtp 服务器,这取决于您的托管服务提供商。您可以从托管服务提供商处获取该信息。127.0.0.1 无论如何都不会在这里工作。

于 2012-09-25T09:49:06.543 回答
0

不要导入“System.Net.Mail”。完成的代码如下图所示:

    Dim SmtpServer As New Net.Mail.SmtpClient
    Dim mail As New Net.Mail.MailMessage
    SmtpServer.Host = "198.154.99.8"
    SmtpServer.UseDefaultCredentials = False
    SmtpServer.Credentials = New   System.Net.NetworkCredential("admin@awesomewebsite.org.au", "password")

    mail.From = New Net.Mail.MailAddress("admin@awesomewebsite.org.au")
    mail.To.Add("admin@awesomewebsite.org.au")
    mail.Subject = "RE: Message Subject"
    mail.Body = "Message goes here."

    SmtpServer.Send(mail)
于 2012-09-26T00:00:05.647 回答