我的一个表单出现了问题。它应该是一个电子邮件发件人,允许用户通过他们放入TextBox1
的指定电子邮件向代码中的给定电子邮件发送电子邮件。问题是,当发送到我的Gmail帐户时,该电子邮件不会使用此自定义“来自”电子邮件。
以下是我的代码:
Imports System.Net.Mail
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim EmailMessage As New MailMessage()
Try
EmailMessage.From = New MailAddress(TextBox1.Text)
EmailMessage.To.Add("to@gmail.com")
EmailMessage.Subject = TextBox2.Text
EmailMessage.Body = RichTextBox1.Text
Dim SMTP As New SmtpClient("smtp.gmail.com")
SMTP.Port = 587
SMTP.EnableSsl = True
SMTP.Credentials = New System.Net.NetworkCredential("user", "*******")
SMTP.Send(EmailMessage)
Catch ex As Exception
End Try
End Sub
End Class
表格的图片:
任何人都可以帮我解决问题,以便“返回电子邮件:”字段是用作发件人的电子邮件。
顺便说一下,主题和正文字段可以正常工作。
答案 0 :(得分:1)
您似乎正在正确设置From
属性。这将在SMTP标头中设置From
值。但是,并非所有电子邮件客户端都尊重标头中的From
值。特别是,GMail会忽略标题中的From
值,并始终显示最初发送邮件的实际电子邮件帐户。他们这样做的目的是避免人们被虚假的From地址欺骗。
答案 1 :(得分:0)
我不相信google让你替换From:地址,它总会使用登录用户的SMTP别名作为From:
您可能可以使用ReplyTo / ReplyToList属性,但从未尝试过。
编辑:进行了一些进一步搜索,发现this问题似乎是完全按照您要执行的操作的说明。