好的,所以我尝试将电子邮件发送给在文本框中输入其电子邮件的用户。 我对应该做什么有一个基本的想法,但是我很困惑应该在哪里放置CMTPClient(),凭据以及来自何处。 什么电子邮件应该去那里。 我尝试输入我的电子邮件地址和凭据,但始终收到此错误“ SMTP服务器需要安全连接或客户端未通过身份验证”。 这是我的代码

        Try
        Dim username As String
        username = TextBox1.Text
        Dim SmtpServer As New SmtpClient("smtp.gmail.com")
        Dim mail As New MailMessage()
        SmtpServer.Credentials = New System.Net.NetworkCredential("what username goes 
        here", "what password goes here")
        SmtpServer.Port = 587
        mail = New MailMessage()
        mail.From = New MailAddress("what email should i put here")
        mail.To.Add(username)
        mail.Subject = "Qustions"
        mail.Body = "This is for testing your mother"
        SmtpServer.Send(mail)
        MsgBox("mail send")
    Catch ex As Exception
        MsgBox(ex.ToString)
    End Try
End Sub

===============>>#1 票数:1

在调用SmtpServer.Send(mail)之前使用SmtpServer.EnableSsl = True

“ SMTP服务器需要安全连接或客户端未通过身份验证”

表示SMTP服务器在启用SSL(加密)的连接上工作

===============>>#2 票数:0

请记住,Gmail不仅开放给所有人使用。 否则,您就会知道:垃圾邮件。 现在,垃圾邮件发送者必须跳过各种障碍才能找到或创建可用的smtp网关。 如果有任何主要提供商开放自己,请考虑一下您现在得到的所有垃圾邮件,并将其乘以1000。

因此,您需要具有gmail帐户才能使用其smtp服务器。 更重要的是,如果您每天发送大约400封电子邮件,则可能需要一个专用帐户或一个具有特殊信誉良好的群发邮件程序的帐户。 这些邮件将为您收取每封邮件的费用,但这是值得的,因为否则,每天多于几封邮件将引起注意,并导致您发送的所有邮件都被过滤为垃圾邮件...并且在传输过程中,甚至还没有到达目的地的邮件主机也要在那里检查。 您基本上要支付麻烦的费用,以确保您的邮件是认真的,而不是大量垃圾。

顺便说一句,如果您知道自己的音量足够低,并且拥有有效的gmail帐户,则只需进行一些更改:

Try
    Dim SmtpServer As New SmtpClient("smtp.gmail.com")
    Dim mail As New MailMessage()
    SmtpServer.Credentials = New System.Net.NetworkCredential("gmailusername@gmail.com", "your gmail password")
    SmtpServer.EnableSsl = True
    SmtpServer.Port = 587
    mail = New MailMessage()
    mail.From = New MailAddress("gmailusername@gmail.com")
    mail.To.Add(TextBox1.Text)
    mail.Subject = "Questions"
    mail.Body = "This is for testing your mother"
    SmtpServer.Send(mail)
    MsgBox("mail sent")
Catch ex As Exception
    MsgBox(ex.ToString)
End Try

  ask by user2264202 translate from so

未解决问题?本站智能推荐: