mgupload
جمعه 06 شهریور 1394, 10:55 صبح
سلام من یه کد نوشتم که با اون بتونم ایمیل بفرستم ( Gmail ، Yahoo و Hotmail )
یه اشکال وجود داره : از ایمیل Yahoo و Hotmail نمیتونم ایمیل بفرستم! کد به صورت زیر هست:
bool SendOK = false; ;
if (Email_Username.Text != "" && Email_Domain.Text != "" && Email_Password.Text != "" && Subject_TXT.Text != "" && Message_TXT.Text != "")
{
MailMessage Email = new MailMessage();
Email.From = new MailAddress(Email_Username.Text + "@" + Email_Domain.Text);
Email.Subject = Subject_TXT.Text;
Email.Body = Message_TXT.Text;
Email.Priority = MailPriority.High;
if (HTMLTrue)
{
Email.IsBodyHtml = true;
}
else
{
Email.IsBodyHtml = false;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////Google
SmtpClient SMTP;
SMTP = new SmtpClient("smtp.gmail.com");
SMTP.Port = 587;
SMTP.UseDefaultCredentials = false;
SMTP.EnableSsl = true;
SMTP.Credentials = new NetworkCredential(Email_Username.Text + "@" + Email_Domain.Text, Email_Password.Text);
if (Email_Domain.Text == "Yahoo.com" || Email_Domain.Text == "Ymail.com")//////////////////////////////Yahoo
{
SMTP = new SmtpClient("smtp.mail.yahoo.com");
SMTP.Port = 587;
}
else
{
if (Email_Domain.Text == "Outlook.com" || Email_Domain.Text == "Hotmail.com")
{
SMTP = new SmtpClient("smtp.live.com");
SMTP.Port = 587;
}
}
if (!ToEmailFileTrue)
{
///////////////////////////////////////////////////////////////////////////////////////////Email Address
if (ToEmailAddress_TXT.Text != "")
{
Email.To.Add(ToEmailAddress_TXT.Text);
try
{
SMTP.Send(Email);
SendOK = true;
MessageBox.Show("Email successfully sended");
}
catch { }
if (!SendOK)
{
MessageBox.Show("Error occur");
}
}
else
{
MessageBox.Show("Please Inpute Data!");
}
}
else
{
/////////////////////////////////////////////////////////////////////////////////////////////Emails File
if (Open.ShowDialog() != DialogResult.Cancel)
{
System.IO.StreamReader RF = System.IO.File.OpenText(Open.FileName);
Emails.Text = RF.ReadToEnd();
RF.Close();
}
int array = 0;
while (Emails.Lines[array].ToString() != ";")
{
Email.To.Add(Emails.Lines[array].ToString());
try
{
SMTP.Send(Email);
SendOK = true;
}
catch { }
if (!SendOK)
{
MessageBox.Show("Error occur in send to " + Emails.Lines[array].ToString());
}
array = array + 1;
}
}
}
else
{
MessageBox.Show("Please Inpute Data!");
}
من SMTp رو اینطوری نوشتم :
//////////////////////////////////////////////////////////////////////////////////////////////////////Google
SmtpClient SMTP;
SMTP = new SmtpClient("smtp.gmail.com");
SMTP.Port = 587;
SMTP.UseDefaultCredentials = false;
SMTP.EnableSsl = true;
SMTP.Credentials = new NetworkCredential(Email_Username.Text + "@" + Email_Domain.Text, Email_Password.Text);
if (Email_Domain.Text == "Yahoo.com" || Email_Domain.Text == "Ymail.com")//////////////////////////////Yahoo
{
SMTP = new SmtpClient("smtp.mail.yahoo.com");
SMTP.Port = 587;
}
else
{
if (Email_Domain.Text == "Outlook.com" || Email_Domain.Text == "Hotmail.com")
{
SMTP = new SmtpClient("smtp.live.com");
SMTP.Port = 587;
}
}
یه اشکال وجود داره : از ایمیل Yahoo و Hotmail نمیتونم ایمیل بفرستم! کد به صورت زیر هست:
bool SendOK = false; ;
if (Email_Username.Text != "" && Email_Domain.Text != "" && Email_Password.Text != "" && Subject_TXT.Text != "" && Message_TXT.Text != "")
{
MailMessage Email = new MailMessage();
Email.From = new MailAddress(Email_Username.Text + "@" + Email_Domain.Text);
Email.Subject = Subject_TXT.Text;
Email.Body = Message_TXT.Text;
Email.Priority = MailPriority.High;
if (HTMLTrue)
{
Email.IsBodyHtml = true;
}
else
{
Email.IsBodyHtml = false;
}
SmtpClient SMTP;
SMTP = new SmtpClient("smtp.gmail.com");
SMTP.Port = 587;
SMTP.UseDefaultCredentials = false;
SMTP.EnableSsl = true;
SMTP.Credentials = new NetworkCredential(Email_Username.Text + "@" + Email_Domain.Text, Email_Password.Text);
if (Email_Domain.Text == "Yahoo.com" || Email_Domain.Text == "Ymail.com")//////////////////////////////Yahoo
{
SMTP = new SmtpClient("smtp.mail.yahoo.com");
SMTP.Port = 587;
}
else
{
if (Email_Domain.Text == "Outlook.com" || Email_Domain.Text == "Hotmail.com")
{
SMTP = new SmtpClient("smtp.live.com");
SMTP.Port = 587;
}
}
if (!ToEmailFileTrue)
{
///////////////////////////////////////////////////////////////////////////////////////////Email Address
if (ToEmailAddress_TXT.Text != "")
{
Email.To.Add(ToEmailAddress_TXT.Text);
try
{
SMTP.Send(Email);
SendOK = true;
MessageBox.Show("Email successfully sended");
}
catch { }
if (!SendOK)
{
MessageBox.Show("Error occur");
}
}
else
{
MessageBox.Show("Please Inpute Data!");
}
}
else
{
/////////////////////////////////////////////////////////////////////////////////////////////Emails File
if (Open.ShowDialog() != DialogResult.Cancel)
{
System.IO.StreamReader RF = System.IO.File.OpenText(Open.FileName);
Emails.Text = RF.ReadToEnd();
RF.Close();
}
int array = 0;
while (Emails.Lines[array].ToString() != ";")
{
Email.To.Add(Emails.Lines[array].ToString());
try
{
SMTP.Send(Email);
SendOK = true;
}
catch { }
if (!SendOK)
{
MessageBox.Show("Error occur in send to " + Emails.Lines[array].ToString());
}
array = array + 1;
}
}
}
else
{
MessageBox.Show("Please Inpute Data!");
}
من SMTp رو اینطوری نوشتم :
SmtpClient SMTP;
SMTP = new SmtpClient("smtp.gmail.com");
SMTP.Port = 587;
SMTP.UseDefaultCredentials = false;
SMTP.EnableSsl = true;
SMTP.Credentials = new NetworkCredential(Email_Username.Text + "@" + Email_Domain.Text, Email_Password.Text);
if (Email_Domain.Text == "Yahoo.com" || Email_Domain.Text == "Ymail.com")//////////////////////////////Yahoo
{
SMTP = new SmtpClient("smtp.mail.yahoo.com");
SMTP.Port = 587;
}
else
{
if (Email_Domain.Text == "Outlook.com" || Email_Domain.Text == "Hotmail.com")
{
SMTP = new SmtpClient("smtp.live.com");
SMTP.Port = 587;
}
}