
نوشته شده توسط
ROSTAM2
همه اینکارا رو انجام دادم.
بقیه پروژه های آموزشی رو هم تست کردم خطا دارن. فکر کنم چیزی باید روی سیستم نصب یا فعال بشه! (Windows 10)
نیاز به چیز اضافه نیست. فقط کافیه اطلاعات رو درست وارد کنید. خطای مربوط به 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 مشکل حل بشه.