สวัสดีครับ
ผมเป็นมือใหม่ในด้านเขียนโปรแกรมครับ กำลังเขียนโปรแกรมแนว Client - Server (ด้วย C#) แล้วอยากให้ Server ส่ง Mail Alert ด้วย SMTP ของ GMail กรณีเกิดเหตุการณ์บางอย่าง
ผมเลยไปหา Code สำหรับส่งเมลล์มาจากเว็บนอก แล้วทำ button สำหรับคลิ๊กเพื่อทดสอบส่งเมลล์ แต่ผลปรากฏว่าเกิด error ขึ้นครับ พยายามแก้ยังไงก็ไม่หาย เลยนำ Try มาดักไว้ตรงบรรทัดที่เกิด Error เลยได้ผลมา 2 แบบครับ
รูปที่ 1 กรณีใช้ Port 465 เป็นตัวส่งออก
รูปที่ 2 กรณีใช้ Port 587 เป็นตัวส่งออก
ปล. เครื่องผมปิด Firewall ไปหมดแล้วครับ
ยังไงรบกวนผู้รู้ช่วยชี้แนะด้วยครับ
ขอบคุณครับ
อันนี้ code ครับ
private void button2_Click(object sender, EventArgs e)
{
string smtpAddress = "smtp.gmail.com";
int portNumber = 465;
<< ลอง 587 แล้วก็ไม่ผ่านครับ
bool enableSSl = true;
string emailFrom = "yourmail@gmail.com";
string password = "yourpassword";
string emailTo = "someone@gmail.com";
string subject = "test";
string body = "test send mail";
MailMessage mail = new MailMessage();
{
mail.From = new MailAddress(emailFrom);
mail.To.Add(emailTo);
mail.Subject = subject;
mail.Body = body;
mail.IsBodyHtml = false;
SmtpClient smtp = new SmtpClient(smtpAddress, portNumber);
{
smtp.Credentials = new NetworkCredential(emailFrom, password);
//smtp.Host = smtpAddress;
//smtp.Port = portNumber;
smtp.EnableSsl = enableSSl;
//smtp.Send(mail); <<
ผม commect ไว้เพราะจะใช้ try ในบรรทัดถัดไปครับ
try
{
smtp.Send(mail); <<
บรรทัดที่เกิดปัญหาครับ
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}
}
การส่งเมลล์ด้วย SMTP ของ GMail (C#)
ผมเป็นมือใหม่ในด้านเขียนโปรแกรมครับ กำลังเขียนโปรแกรมแนว Client - Server (ด้วย C#) แล้วอยากให้ Server ส่ง Mail Alert ด้วย SMTP ของ GMail กรณีเกิดเหตุการณ์บางอย่าง
ผมเลยไปหา Code สำหรับส่งเมลล์มาจากเว็บนอก แล้วทำ button สำหรับคลิ๊กเพื่อทดสอบส่งเมลล์ แต่ผลปรากฏว่าเกิด error ขึ้นครับ พยายามแก้ยังไงก็ไม่หาย เลยนำ Try มาดักไว้ตรงบรรทัดที่เกิด Error เลยได้ผลมา 2 แบบครับ
รูปที่ 1 กรณีใช้ Port 465 เป็นตัวส่งออก
รูปที่ 2 กรณีใช้ Port 587 เป็นตัวส่งออก
ปล. เครื่องผมปิด Firewall ไปหมดแล้วครับ
ยังไงรบกวนผู้รู้ช่วยชี้แนะด้วยครับ
ขอบคุณครับ
อันนี้ code ครับ
private void button2_Click(object sender, EventArgs e)
{
string smtpAddress = "smtp.gmail.com";
int portNumber = 465; << ลอง 587 แล้วก็ไม่ผ่านครับ
bool enableSSl = true;
string emailFrom = "yourmail@gmail.com";
string password = "yourpassword";
string emailTo = "someone@gmail.com";
string subject = "test";
string body = "test send mail";
MailMessage mail = new MailMessage();
{
mail.From = new MailAddress(emailFrom);
mail.To.Add(emailTo);
mail.Subject = subject;
mail.Body = body;
mail.IsBodyHtml = false;
SmtpClient smtp = new SmtpClient(smtpAddress, portNumber);
{
smtp.Credentials = new NetworkCredential(emailFrom, password);
//smtp.Host = smtpAddress;
//smtp.Port = portNumber;
smtp.EnableSsl = enableSSl;
//smtp.Send(mail); << ผม commect ไว้เพราะจะใช้ try ในบรรทัดถัดไปครับ
try
{
smtp.Send(mail); << บรรทัดที่เกิดปัญหาครับ
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}
}