在不使用Google SMTP的情况下从网站发送电子邮件

时间:2015-11-16 21:21:10

标签: asp.net vb.net email webforms

我正在为朋友公司制作一个网站,他们希望客户能够使用网站上的表格与他们联系,该表格会将查询通过电子邮件发送到他们的工作电子邮件地址。

我能够找到的所有示例都使用GMail的SMTP服务器。我已经设法使用下面的代码让这个工作,但电子邮件总是出现在收件箱中,从GMail帐户,无论我设置mm.From是什么。我知道这是使用GMail的SMTP服务器的缺点。

    Dim mm As MailMessage = New MailMessage()
    mm.From = New MailAddress("customer@test.com")
    mm.Subject = "Test Email"
    mm.Body = "<p>This is a test email</p>"
    mm.IsBodyHtml = True
    mm.To.Add(New MailAddress("info@myCompany.com"))

    Dim smtp As SmtpClient = New SmtpClient()

    smtp.Host = "smtp.gmail.com"
    smtp.EnableSsl = True
    Dim NetworkCred As NetworkCredential = New System.Net.NetworkCredential()
    NetworkCred.UserName = "mycompany@gmail.com"
    NetworkCred.Password = "myPassword"
    smtp.UseDefaultCredentials = True
    smtp.Credentials = NetworkCred
    smtp.Port = 587

    Try
        smtp.Send(mm)
    Catch ex As Exception
        Response.Write(ex)
    End Try

我希望发件人的电子邮件地址显示在来自字段中,这样用户只需在收到邮件时点击回复即可。

他们拥有的商业电子邮件帐户由GoDaddy提供,我尝试在代码中输入SMTP和帐户详细信息但我收到以下错误:

System.Net.Mail.SmtpException:发送邮件失败。 ---&GT; System.IO.IOException:无法从传输连接中读取数据:net_io_connectionclosed。

非常感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:2)

您可以使用您有权访问的任何SMTP服务。因此,如果GMail不能满足您的需求,请尝试另外一个。 (另一个的设置可能不同,请与服务主机联系以获取详细信息。)

但是,您可以在代码中做的一件事就是设置ReplyTo地址。 From只是邮件中的一个标题,还有其他标题可以使用。 ReplyTo标题告诉电子邮件客户端应将回复发送到给定的电子邮件地址。

mm.ReplyTo = New MailAddress("customer@test.com")