出现“服务器响应为:5.7.1 客户端未经身份验证”错误通常是因为未正确配置电子邮件设置或未提供正确的身份验证凭据。下面是一个解决此问题的示例代码:
Imports System.Net
Imports System.Net.Mail
Public Class EmailSender
Private Shared ReadOnly SmtpServer As String = "your-smtp-server"
Private Shared ReadOnly SmtpPort As Integer = 587
Private Shared ReadOnly SmtpUsername As String = "your-username"
Private Shared ReadOnly SmtpPassword As String = "your-password"
Public Sub SendEmail(ByVal recipient As String, ByVal subject As String, ByVal body As String)
Dim smtpClient As New SmtpClient(SmtpServer, SmtpPort)
smtpClient.EnableSsl = True
smtpClient.Credentials = New NetworkCredential(SmtpUsername, SmtpPassword)
Dim mailMessage As New MailMessage()
mailMessage.From = New MailAddress(SmtpUsername)
mailMessage.To.Add(recipient)
mailMessage.Subject = subject
mailMessage.Body = body
Try
smtpClient.Send(mailMessage)
Console.WriteLine("Email sent successfully.")
Catch ex As Exception
Console.WriteLine("Failed to send email: " & ex.Message)
End Try
End Sub
End Class
在上面的代码中,您需要将以下变量替换为您自己的邮件服务器和凭据:
SmtpServer
:您的 SMTP 服务器地址。SmtpPort
:SMTP 服务器端口(常见的端口是 587)。SmtpUsername
:要用于身份验证的用户名。SmtpPassword
:用于身份验证的密码。使用上面的代码示例,您可以创建一个名为 EmailSender
的类,并使用 SendEmail
方法发送电子邮件。确保在使用此代码之前添加必要的命名空间引用。