PDA

View Full Version : خطا در ارسال ایمیل



arash_flag
شنبه 20 تیر 1394, 14:08 عصر
سلام دوستان این کدها را برای ارسال ایمیل جمع آوری کردم اما خطا میده ؟ مشکل کجاست؟



SmtpClient smtp = new SmtpClient();

MailMessage email = new MailMessage();
email.From = new MailAddress(txt_email.Text, txt_name.Text);
email.To.Add("my email");
email.Subject = txt_subject.Text;
email.SubjectEncoding = Encoding.UTF8;
email.Body = txt_text.Text;
email.BodyEncoding = Encoding.UTF8;




smtp.Host = "mail.google.com";
smtp.UseDefaultCredentials = false;
NetworkCredential nc = new NetworkCredential();
nc.UserName = "MY email";
nc.Password = "password";

smtp.Credentials = nc;



smtp.Send(email);
lblmsg.Text = "پیام با موفقیت ارسال شد";


اگر کد بهتری دارین ک برای جیمیل و یاهو جواب میده لطفا بگذارید

دلتنگ اسمان
شنبه 20 تیر 1394, 14:33 عصر
///////////////////////////Gmail
try
{
var mail = new MailAddress("mail@gmail.com", "From Name");
var toAddress = new MailAddress("Gmail@gmail.com", "To Name");
const string fromPassword = "Gmailpassword";
const string subject = "Subject";
const string body = "Body";

var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(mail.Address, fromPassword)
};
using (var message = new MailMessage(mail, toAddress)
{
Subject = subject, Body = body
})
{

smtp.Send(message);
MessageBox.Show("ارسال شد");
}
}
catch (Exception ex)
{
MessageBox.Show("خطا در ارسال ایمیل");
}

////////////////////////yahoo mail
try
{
string email = "Mail@yahoo.com";
System.Net.Mail.MailMessage ms = new System.Net.Mail.MailMessage();
ms.From = new System.Net.Mail.MailAddress(email);
ms.To.Add("Mail@gmail.com");
ms.Subject = "عنوان ایمیل";
ms.Body = "متن ایمیل";
System.Net.Mail.SmtpClient sm = new System.Net.Mail.SmtpClient("plus.smtp.mail.yahoo.com")
{
Credentials = new NetworkCredential(email, "YahoomailPassword"),
EnableSsl = true
};
sm.Send(ms);
MessageBox.Show("ارسال شد");
}
catch (Exception ex)
{
MessageBox.Show("خطا در ارسال ایمیل");
}
}

arash_flag
یک شنبه 21 تیر 1394, 14:12 عصر
سلام دوستان برای ارسال ایمیل از یاهو به .... مشکلی ندارم
اما برای ارسال جی میل به .... این خطا رو میده


An exception of type 'System.Net.Mail.SmtpException' occurred in System.dll but was not handled in user code

Additional information: The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required. Learn more at


اینم کد های نوشته شده

// string smtpAddress = "smtp.mail.yahoo.com";
string smtpAddress = "smtp.gmail.com";

int portNumber = 587;
bool enableSSL = true;


string emailFrom = "MY_EMAIL@gmail.com";
string password = "MY_PASS";
string emailTo = "youmail@yahoo.com";
string subject = "Hello";
string body = "Hello, I'm just writing this to say Hi!";

using (MailMessage mail = new MailMessage())
{
mail.From = new MailAddress(emailFrom);
mail.To.Add(emailTo);
mail.Subject = subject;
mail.Body = body;
mail.IsBodyHtml = true;
// Can set to false, if you are sending pure text.

// mail.Attachments.Add(new Attachment("C:\\SomeFile.txt"));
// mail.Attachments.Add(new Attachment("C:\\SomeZip.zip"));

SmtpClient smtp = new SmtpClient(smtpAddress, portNumber);
smtp.UseDefaultCredentials = false;
smtp.Credentials = new NetworkCredential(emailFrom, password);
smtp.EnableSsl = enableSSL;


smtp.Send(mail);
lblmsg.Text= "ok";