نیاز به چیز اضافه نیست. فقط کافیه اطلاعات رو درست وارد کنید.
خطای مربوط به
5.7.0 معتبر نبودن
یوزر و
پسورد هست. اطلاع دارید که باید از
App Passwords استفاده کنید؟
مطمعن هستید پسورد رو درست وارد میکنید؟
کلاسی ک نوشتم برای ارسال ایمیل تست کردم مشکل نداشت.
Imports System.Net
Imports System.Net.Mail
Imports System.Windows.Forms.VisualStyles.VisualStyleEleme nt.StartPanel
Public Class GmailSenderResult
Public Success As Boolean = False
Public Message As String = vbEmpty
Public Ex As Exception
End Class
''' <summary>
''' Class Gmail Sender
''' by : Behnam Eslamirad
''' </summary>
Public Class GmailSender
Private SMTP_SERVER As String = "smtp.gmail.com"
Private SMTP_PORT As Integer = 587
''' <summary>
''' Mail Sender
''' </summary>
Public Sender As String
''' <summary>
''' Password Mail Sender
''' </summary>
Public Password As String
''' <summary>
''' Create object from class with constract parameters
''' </summary>
''' <param name="Sender">Mail Sender</param>
''' <param name="Password">Password Mail Sender</param>
Public Sub New(Sender As String, Password As String)
Me.Sender = Sender
Me.Password = Password
End Sub
''' <summary>
''' Create object from class without constract parameters
''' </summary>
Public Sub New()
End Sub
''' <summary>
''' Send
''' </summary>
''' <param name="MailTo">Destination email for sending messages</param>
''' <param name="Subject">The Subject message to send</param>
''' <param name="Message">The message to send</param>
''' <returns>Result as GmailSenderResult</returns>
Public Function Send(MailTo As String, Subject As String, Message As String) As GmailSenderResult
Dim Result As New GmailSenderResult()
Try
Dim SmtpServer As New SmtpClient()
Dim mail As New MailMessage()
SmtpServer.UseDefaultCredentials = False
SmtpServer.Credentials = New Net.NetworkCredential(Sender, Password)
SmtpServer.Port = SMTP_PORT
SmtpServer.Host = SMTP_SERVER
SmtpServer.EnableSsl = True
SmtpServer.DeliveryMethod = SmtpDeliveryMethod.Network
mail = New MailMessage()
mail.From = New MailAddress(Sender)
mail.To.Add(MailTo)
mail.Subject = Subject
mail.Body = Message
SmtpServer.Send(mail)
Result.Message = "sent password."
Result.Success = True
Catch ex As Exception
Result.Ex = ex
Result.Message = ex.Message
Result.Success = False
End Try
Return Result
End Function
End Class
برای استفاده کدهای زیر
Dim gmail As New GmailSender("example@gmail.com", "app passwords gmail")
Dim Result As GmailSenderResult = gmail.Send("example@gmail.com", "subject message", "hi, this is body message")
If Result.Success Then
MsgBox("Sent message.")
Else
MsgBox(Result.Message)
End If
البته فک کنم کدهای خودتون هم مشکلی نداشته باشه و فقط با قراردادن
App Passwords مشکل حل بشه.