【问题标题】:Visual Basic Email Sender Not Using Custom From Sender FieldVisual Basic 电子邮件发件人不使用来自发件人字段的自定义
【发布时间】:2015-09-26 17:38:24
【问题描述】:

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

还有一张表格的图片:

任何人都可以帮助我,使“返回电子邮件:”字段是用作发件人的电子邮件。

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

【问题讨论】:

  • 它在“发件人”字段中使用什么
  • 我用来登录 SMTP 服务器的电子邮件。
  • 硬编码地址而不是使用文本框文本是否有效?

标签: vb.net


【解决方案1】:

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

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

编辑:做了一些进一步的搜索,发现 this 问题似乎是做你想做的事情的说明。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-26
      • 1970-01-01
      • 2016-10-20
      • 1970-01-01
      • 1970-01-01
      • 2010-12-20
      • 2015-07-18
      • 2014-10-15
      相关资源
      最近更新 更多