سلام
مشکلی برام پیش اومده بود گفتم روش حلش رو بزارم که دوستان هم استفاده کنند
قبلا اگه حساب دومرحله بود ایمیل ارسال نمیشد ولی العان برعکسه و باید حساب دو مرحله ای باشه
قبلا از اینجا میرفتیم و یک گزینه رو تیک میزدیم و کار تموم بود ولی این قسمت رو غیر فعال کرده گوگل
قبلا اینجوری بود و تیک داشت:
ولی الان تیک رو برداشته:
من دیروز مشکلم رفع شد!
برای ارسال ایمیل از اپلیکیشن بوسیله گوگل:
1- تایید دو مرحله ای حسابتون رو فعال کنید!!!!
2- برید به AppPassword
3- سلکت اپ رو بزنید و other رو انتخاب کنید و یه اسم بدید و تمام، گوگل یه کلمه عبور 16 رقمی به شما میده، از اون بعنوان پسورد ایمیل در برنامتون استفاده کنید
اگه باز مشکلی داشتید، پورت 587 رو هم تست کنید
public class EmailSender : IEmailSender
{
public Task SendEmailAsync(string email, string subject, string htmlMessage)
{
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
mail.From = new MailAddress("mail@gmail.com");
mail.To.Add(email);
mail.Subject = subject;
mail.Body = htmlMessage;
mail.IsBodyHtml = true;
SmtpServer.Port = 587;
SmtpServer.Credentials = new System.Net.NetworkCredential("mail@gmail.com", "xxxxxxxxxxxxxxxx");
//<< بجای
// x
// ها، پسوردی که خود گوگل برای اپلیکیشنتون ساخته رو میزارید
SmtpServer.EnableSsl = true; // only for port 465
SmtpServer.Send(mail);
return Task.CompletedTask;
}
}
سلام دوست من وقتتون بخیر
ممنون از اینکه راه حلو با بقیه دوستان به اشتراک گذاشتین
موفق باشید دوست من
خیلی ممنون دوست عزیز برای کمکتون. من مواردی که فرمودین رو انجام دادم ولی تاثیر نداشت و بازم خطای زیر رو میده
The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.0 Authentication Required. Learn more at
موارد 1 و 2 و 3 رو اگه بصورت صحیح انجام بدید، درست میشه
1- ورود دو مرحله ای حسابتون رو فعال کنید: (Turn On) (جدیدا باید فعال بشه حتما، قبلا حتمالا باید غیر فعال میشد که الان برعکسه)
از اینجا فعال کنید:
https://myaccount.google.com/signinoptions/two-step-verification
و مرحله 2 و 3 از پاسخ بالایی رو انجام بدید تمومه
کدی که بالا نوشتم رو عینا توی پروژتون وارد کنید و بجای mail@gmail.com و "x"، ایمیل و پسورد خودتون رو جایگزین کنید (البته چون از 587 استفاده کردم فکر کنم کد EnableSsl که پایینترشه دیگه لازم نیست)
منم دقیقا همین مشکل شما رو داشتم
و الان این کد داره درست کار میکنه
نکته ای ام که باید در نظر بگیرید محدودیت ارسال هستش که باید بین ارسال ها یه تاخیر بزارید (اگه چند ارسال پشت سر هم باشه، گوگل ارسال رو می بنده) و همینطور در روز، بیشتر از 500 تا هم نمی تونید ارسال کنید، باید کدی بنویسید که اگه درخواست ثبت نام و یا یادآوری کلمه عبور و ... که منجر به ارسال جیمیل میشه به 500 رسید، اون سرویس ها رو تا فردا غیر فعال کنید و به کابر بگید تموم شده برید فردا اول وقت بیایید :-)
البته اگه به ارسال بیشتر از 500 ایمیل در روز نیاز دارید کافیه مثلا 2 الی 10 تا اکانت گوگل بسازید و داخل کد ارسال ایمیل، هر دفعه از یکی از اکانتها تون برای ارسال استفاده کنید
خیلی ممنون. حل شد مشکل