我正在为朋友公司制作一个网站,他们希望客户能够使用网站上的表格与他们联系,该表格会将查询通过电子邮件发送到他们的工作电子邮件地址。
我能够找到的所有示例都使用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。
非常感谢任何帮助。
由于
答案 0 :(得分:2)
您可以使用您有权访问的任何SMTP服务。因此,如果GMail不能满足您的需求,请尝试另外一个。 (另一个的设置可能不同,请与服务主机联系以获取详细信息。)
但是,您可以在代码中做的一件事就是设置ReplyTo
地址。 From
只是邮件中的一个标题,还有其他标题可以使用。 ReplyTo
标题告诉电子邮件客户端应将回复发送到给定的电子邮件地址。
mm.ReplyTo = New MailAddress("customer@test.com")