Visual Basic电子邮件发件人不使用自定义发件人字段

时间:2015-07-08 16:54:46

标签: vb.net

我的一个表单出现了问题。它应该是一个电子邮件发件人,允许用户通过他们放入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

表格的图片:

enter image description here

任何人都可以帮我解决问题,以便“返回电子邮件:”字段是用作发件人的电子邮件。

顺便说一下,主题和正文字段可以正常工作。

2 个答案:

答案 0 :(得分:1)

您似乎正在正确设置From属性。这将在SMTP标头中设置From值。但是,并非所有电子邮件客户端都尊重标头中的From值。特别是,GMail会忽略标题中的From值,并始终显示最初发送邮件的实际电子邮件帐户。他们这样做的目的是避免人们被虚假的From地址欺骗。

答案 1 :(得分:0)

我不相信google让你替换From:地址,它总会使用登录用户的SMTP别名作为From:

您可能可以使用ReplyTo / ReplyToList属性,但从未尝试过。

编辑:进行了一些进一步搜索,发现this问题似乎是完全按照您要执行的操作的说明。