C# .NET เขียน ส่ง เมล์ โดยใช้ smtp ของ Gmail Account มันไม่ส่งไปทำยังไงดีครับ
โค้ดครับ
Code (C#)
private void btnSEND_Click(object sender, EventArgs e)
{
if (txtTo.Text != "")
{
string[] tmpTO = txtTo.Text.Split(';');
string[] tmpCC = txtCC.Text.Split(';');
string[] Cc = new string[tmpCC.Length];
string[] sendTo = new string[tmpTO.Length];
for (int i = 0; i < tmpTO.Length; i++)
{
if (tmpTO[i] != "")
{
sendTo[i] = tmpTO[i];
}
}
for (int j = 0; j < tmpCC.Length; j++)
{
if (tmpCC[j] != "")
{
sendTo[j] = tmpCC[j];
}
}
sendEmail(txtSUBJECT.Text, sendTo, Cc, txtCONTENT.Text);
}
}
void sendEmail(string insubject, string[] inSendTo, string[] inCC, string inMsg)
{
MailMessage mailMsg = new MailMessage();
mailMsg.From = new MailAddress("[email protected] ");
if (inSendTo.Length > 0)
{
for (int j = 0; j < inSendTo.Length; j++)
{
if (inSendTo[j] != null)
{
mailMsg.To.Add(new MailAddress(inSendTo[j].ToString().Trim()));
}
}
}
if (inCC.Length > 0)
{
for (int i = 0; i < inCC.Length; i++)
{
if (inCC[i] != null)
{
mailMsg.CC.Add(new MailAddress(inCC[i].ToString().Trim()));
}
}
}
mailMsg.Subject = insubject;
mailMsg.SubjectEncoding = System.Text.Encoding.GetEncoding("windows-874");
mailMsg.Body = inMsg;
mailMsg.BodyEncoding = System.Text.Encoding.GetEncoding("windows-874");
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.UseDefaultCredentials = false;
smtp.EnableSsl = true;
smtp.Port = 587;
smtp.Send(mailMsg); //********Errorตรงนี้ครับ********//
try
{
smtp.Send(mailMsg);
lbErr.Text = "Email ถูกส่งไปแล้ว";
}
catch (Exception ex)
{
lbErr.Text = ex.Message;
}
}
Date :
2011-01-13 14:07:43
By :
bigc70
Code (C#)
<%@ Import Namespace="System.Web.Mail"%>
<%@ Page Language="C#" %>
<script runat="server">
public void Page_Load(object sender, EventArgs e)
{
System.Net.Mail.MailMessage myMail = new System.Net.Mail.MailMessage();
System.Net.NetworkCredential Cred = new System.Net.NetworkCredential("[email protected] ", "password");
myMail.To.Add("[email protected] ");
myMail.Subject = "Test send mail message";
myMail.From = new System.Net.Mail.MailAddress("[email protected] ");
myMail.IsBodyHtml = true;
myMail.Body = "Hi Sawatdee.<br><br>Sabye dee mai.";
System.Net.Mail.SmtpClient SmtpMail = new System.Net.Mail.SmtpClient("smtp.gmail.com");
SmtpMail.UseDefaultCredentials = false;
SmtpMail.EnableSsl = true;
SmtpMail.Credentials = Cred;
SmtpMail.Port = 465;
SmtpMail.Send(myMail);
myMail = null;
this.lblText.Text = "Mail Sending.";
}
</script>
<html>
<head>
<title>ThaiCreate.Com Tutorial</title>
</head>
<body>
<form id="form1" runat="server">
<asp:Label id="lblText" runat="server"></asp:Label>
</form>
</body>
</html>
ถ้าคุณรันบน local เครื่องตัวเอง ลอง ping ดู smtp ของ gmail ว่าได้หรือไม่ และตรจสอบ port ด้วยน่ะครับ ว่ามันสามารถเชื่อมต่อได้หรือไม่
Go to : (C#) ASP.NET Send Email SMTP Gmail Account
Date :
2011-01-13 14:31:58
By :
webmaster
ผมใช้ c# เขียนจะใช้ .net ได้ด้วยหรอครับ
Date :
2011-01-13 14:42:22
By :
bigc70
ขออีกนิดนะครับ ping smtp ของ gmail ยังไงหรอครับ......มือใหม่จิงๆๆ
Date :
2011-01-13 14:52:03
By :
bigc70
น่าจะติด Firewall ของ ISP น่ะครับ ลอง Up ขึ้น Web Hosting จริงๆ จะไม่มีปัญหาครับ
Date :
2011-01-13 15:36:39
By :
webmaster
Code (C#)
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
System.Net.Mail.MailMessage myMail = new System.Net.Mail.MailMessage();
System.Net.NetworkCredential Cred = new System.Net.NetworkCredential("[email protected] ","xxxxxxxxxxxxxx");
myMail.To.Add("[email protected] ");
myMail.Subject = "Test Send Email";
myMail.From = new System.Net.Mail.MailAddress("[email protected] ");
myMail.IsBodyHtml = true;
myMail.Body = "Hey I AM Titinut Piyachayan";
System.Net.Mail.SmtpClient Smtpmail = new System.Net.Mail.SmtpClient("smtp.gmail.com");
Smtpmail.UseDefaultCredentials = false;
Smtpmail.EnableSsl = true;
Smtpmail.Credentials = Cred;
Smtpmail.Port =465;
Smtpmail.Send(myMail);
myMail = null;
}
}
}
เขียนตามนี้แล้วครับ error ตรง Smtpmail.Send(myMail) แล้วทำยังไงดีครับ....
ช่วยด้วย
ประวัติการแก้ไข 2011-01-13 16:48:58
Date :
2011-01-13 16:14:09
By :
bigc70
ได้แล้วครับ.....comment port แล้วตามนั้นเลย
Date :
2011-01-13 16:23:12
By :
bigc70
รบกวนโพสวิธีแก้ไขปัญหานี้ด้วยน่ะครับ
Date :
2011-01-13 16:34:47
By :
webmaster
Code (C#)
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
System.Net.Mail.MailMessage myMail = new System.Net.Mail.MailMessage();
System.Net.NetworkCredential Cred = new System.Net.NetworkCredential("[email protected] ","xxxxxxxxxxxxxxxx");
myMail.To.Add("[email protected] ");
myMail.Subject = "Test Send Email";
myMail.From = new System.Net.Mail.MailAddress("[email protected] ");
myMail.IsBodyHtml = true;
myMail.Body = "Hey I AM ..........";
System.Net.Mail.SmtpClient Smtpmail = new System.Net.Mail.SmtpClient("smtp.gmail.com");
Smtpmail.UseDefaultCredentials = false;
Smtpmail.EnableSsl = true;
Smtpmail.Credentials = Cred;
//Smtpmail.Port =465;
Smtpmail.Send(myMail);
myMail = null;
}
}
}
ตามนี้เลยครับ
Date :
2011-01-13 16:39:57
By :
bigc70
ตอนแรกผมเข้าผิดมาตลอดไปเขียนใน windows from ตั้งนาน
เลยลองมาเขียน web from แล้วแก้ไขไปเรื่อยๆๆจนได้ในที่สุดผมโพสไว้ให้แล้วนะครับ...
Date :
2011-01-13 16:44:12
By :
bigc70
ตอนนี้คือ การ upload file pdf ส่งเมล์ไปให้ผู้ที่ต้องการอ่ะครับ
ยังไงรบกวนช่วยชี้แนะด้วยครับ
Date :
2011-01-13 16:46:26
By :
bigc70
myMail.From = new System.Net.Mail.MailAddress("[email protected] "); //บรรทัดนี้มีความหมายว่าอะไรหรอครับ..ใช้ตัวอื่นได้ไหมครับ
Date :
2011-01-27 12:33:51
By :
bigc70
เป็น email from ครับ
Date :
2011-01-27 13:21:09
By :
webmaster
ทำไมขนาดที่จะส่งได้มันมีได้แค่ 1m เองอ่ะครับ ไถ้าเกินกว่านั้นจะ error อ่ะครับ
Date :
2011-02-06 21:53:07
By :
bigc70
MailMessage myMail = new MailMessage();
myMail.To = "**********";
myMail.From = "*************";
myMail.Subject = "My Subject";
myMail.BodyFormat = MailFormat.Text;
myMail.Body = "My Body & Description";
SmtpMail.Send(myMail);
myMail = null;
this.lblText.Text = "Mail Sending.";
ส่งเมลล์ ไม่ได้ครับ ตอนเเรก ไฟล์เข้าไปอยู่ใน C:\Inetpub\mailroot\Queue สักพักหนึ่งเเล้วก็หายไปอยู่ใน C:\Inetpub\mailroot\Badmail
ต้องทำอย่างไรครับ ช่วยบอกหน่อย มั่วกับส่งเมลล์มา 4 วันเเล้วครับ
Date :
2011-04-27 14:38:33
By :
นายบ้าหวัน
fire wall ก็ไม่ได้เปิดครับ
เเต่ทำไมยังส่งออกไม่ได้ครับ
มีปัญหาดังรูปเลยครับ
Date :
2011-05-03 15:52:47
By :
นายบ้าหวัน
ตกลงไฟล์ที่ต้องการส่งจะไปเก็บไว้ที่ไหนกันเเน่ครับ เริ่มงงเเล้วเนี่ย
ตอนเวลาโหลดโปรเเกรม จะมาเก็บที่ C:\Inetpub\mailroot\Drop
เเล้วโค้ดที่ถูกต้องมันต้องรูปเเบบไหนหรือครับ ?
ต้องตั้งค่าอะไรบ้างเพื่อใช้ ฟังก์ชัน ส่งเมลล์ สำเร็จสักที
(เข้าสัปดาห์ที่ 2 เเล้วครับที่ยังนั่งมั่วอยู่อีก )
ช่วยหน่อยครับ ขอบคุนล่วงหน้าครับ...
Date :
2011-05-06 08:33:09
By :
นายบ้าหวัน
Load balance : Server 01