PDA

View Full Version : نحوه ارسال ایمیل با asp.net



nnnnaa
پنج شنبه 20 فروردین 1394, 18:14 عصر
سلام دوستان من از تابع زیر برای ارسال ایمیل استفاده میکنم ولی نمیشه؟
میشه مشکلشو بگید؟ فعلا روی لوکاله


public bool SendMail(string Subject, string To, string Body)
{
try
{
SmtpClient MyMail = new SmtpClient();
MailMessage MyMsg = new MailMessage();
MyMail.Host = "smtp.gmail.com";
MyMail.Port = 25;
MyMsg.To.Add(new MailAddress(To));
MyMsg.Subject = Subject;
MyMsg.SubjectEncoding = Encoding.UTF8;
MyMsg.IsBodyHtml = true;
MyMsg.From = new MailAddress("hossein.tavakoli71@gmail.com", "Hossein Tavakoli");
MyMsg.BodyEncoding = Encoding.UTF8;
MyMsg.Body = Body;
MyMail.UseDefaultCredentials = false;
NetworkCredential MyCredentials = new NetworkCredential("hossein.tavakoli71@gmail.com","MyPass");
MyMail.Credentials = MyCredentials;
MyMail.Send(MyMsg);
return true;
}
catch
{
return false;
}
}

LastAirbender
پنج شنبه 20 فروردین 1394, 18:23 عصر
بلوک try-catch رو کامنت کنید بعد دیباگ کنید ببینید چه پیامی میگیرید..

nnnnaa
جمعه 21 فروردین 1394, 17:28 عصر
سلامی دوباره .
دوستان من با این خطا روبه رو میشم ضمنا با پورت 25 هم تست کردم جواب نداد. اطلاعات کامل در تصویر

http://s6.picofile.com/file/8181782834/Capture.JPG

nnnnaa
شنبه 22 فروردین 1394, 01:42 صبح
????????????

nnnnaa
یک شنبه 23 فروردین 1394, 12:35 عصر
کسی نیست؟؟؟؟؟؟؟؟؟؟؟؟؟

nnnnaa
سه شنبه 25 فروردین 1394, 15:15 عصر
کــــــــــــــــــــــــ ـــــــمـــــــــــــــــ ـــــــــــــــــــــــــ ـک
ضمنا قسمت پورت شرط گذاشتم که اگر 465 بود ssl رو فعال کنه بازم نمیشه

salibsatan
سه شنبه 25 فروردین 1394, 15:25 عصر
از این استفاده کن
MailMessage mailObj = new MailMessage(StrFrom, StrTo, StrSubject, StrBody);

mailObj.IsBodyHtml = true;
mailObj.BodyEncoding = Encoding.UTF8;
SmtpClient SMTPServer = new SmtpClient("server", porte server);
//SMTPServer.UseDefaultCredentials = true;
SMTPServer.Credentials = new System.Net.NetworkCredential("email kaamel", "password");


try
{
SMTPServer.Send(mailObj);
return true;
}
catch (Exception ex)
{
return false;
}

nnnnaa
چهارشنبه 26 فروردین 1394, 01:11 صبح
اینم جواب نمیده میشه چون روی لوکاله جواب نمیده؟
ولی انترنت دارم

keiv@n
چهارشنبه 26 فروردین 1394, 08:50 صبح
برو تو
myaccount.google.com => Signing in = > Access For Less Secure Apps رو به Allowed تغییر بده تا اجازه ارسال ایمیل رو به برنامه کاربردی بدی ....

salibsatan
چهارشنبه 26 فروردین 1394, 10:26 صبح
اصولا روی لوکال هاست در حالت نرمال ارسال ایمیل جواب نمیده.روی هاست امتحان کن

keiv@n
چهارشنبه 26 فروردین 1394, 11:39 صبح
اصولا روی لوکال هاست در حالت نرمال ارسال ایمیل جواب نمیده.روی هاست امتحان کن
اصولتون اشتباهه باید جواب بده

salibsatan
چهارشنبه 26 فروردین 1394, 11:53 صبح
اصولتون اشتباهه باید جواب بده
خوب یه توضیح بدین ما هم یاد بگیریم چطور در حالت دیفالت ارسال ایمیل روی لوکال هاست جواب میده بدون اعمال هیچ تغییری در IIS؟چون واسه ما جواب نداده تا به حال مگر با اعمال تغییرات

keiv@n
چهارشنبه 26 فروردین 1394, 12:16 عصر
شما برای ارسال ایمیل نیاز به کدنویسی smtp و اتصال اینترنت دارید ربطی به iis نداره !



protected void SendMail()
{
// آدرس ایمیل فرستنده
var fromAddress = "gholi@gmail.com";
// آدرس ایمیل دریافت کننده
var toAddress = YourEmail.Text.ToString();
// کلمه عبور ایمیل فرستنده
const string fromPassword = "206405Pride";
string subject = YourSubject.Text.ToString();
string body = "From: " + YourName.Text + "\n";
body += "Email: " + YourEmail.Text + "\n";
body += "Subject: " + YourSubject.Text + "\n";
body += "Question: \n" + Comments.Text + "\n";
// تنظیمات smtp
var smtp = new System.Net.Mail.SmtpClient();
{
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.EnableSsl = true;
smtp.UseDefaultCredentials = false;
smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
smtp.Credentials = new NetworkCredential(fromAddress, fromPassword);
smtp.Timeout = 20000;


}
// ارسال ایمیل
smtp.Send(fromAddress, toAddress, subject, body);
}


protected void Button1_Click(object sender, EventArgs e)
{
try
{
SendMail();
DisplayMessage.Text = "عبارتی که پس از ارسال موفقیت آمیز ایمیل نمایش داده می شود";
DisplayMessage.Visible = true;
YourSubject.Text = "";
YourEmail.Text = "";
YourName.Text = "";
Comments.Text = "";
}
catch (Exception) { }
}