C# 从GridView发送电子邮件
我正在尝试发送GridView中列出的所有电子邮件,但由于某些原因,电子邮件无法发送出去。我怀疑我的发送功能(smtpClient.Send(mailMessage))不起作用或者我丢失了一些东西。请帮助我,因为我已经花了很多时间来解决这个问题。谢谢C# 从GridView发送电子邮件,c#,asp.net,C#,Asp.net,我正在尝试发送GridView中列出的所有电子邮件,但由于某些原因,电子邮件无法发送出去。我怀疑我的发送功能(smtpClient.Send(mailMessage))不起作用或者我丢失了一些东西。请帮助我,因为我已经花了很多时间来解决这个问题。谢谢 protected void chkAll_CheckedChanged(object sender, EventArgs e) { foreach(GridViewRow gr in GridView1.Rows) {
protected void chkAll_CheckedChanged(object sender, EventArgs e)
{
foreach(GridViewRow gr in GridView1.Rows)
{
CheckBox cb = (CheckBox)gr.FindControl("chkItem");
if(((CheckBox)sender).Checked)
cb.Checked = true;
else
cb.Checked = false;
}
}
protected void Button3_Click(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder();
foreach(GridViewRow gr in GridView1.Rows)
{
CheckBox cb = (CheckBox)gr.FindControl("chkItem");
if(cb.Checked)
{
sb.Append(GridView1.DataKeys[gr.RowIndex]["Email"].ToString());
sb.Append(",");
}
}
//Create instance of main mail message class.
System.Net.Mail.MailMessage mailMessage=new System.Net.Mail.MailMessage();
mailMessage.From = new System.Net.Mail.MailAddress(
System.Configuration.ConfigurationManager
.AppSettings["fromEmailAddress"]);
mailMessage.Priority = System.Net.Mail.MailPriority.High;
//Text/HTML
mailMessage.IsBodyHtml = false;
mailMessage.Body = "Hello, here is new email";
mailMessage.Subject = "RCA APPROVAL IS REQUIRED";
System.Net.Mail.SmtpClient smtpClient=new System.Net.Mail.SmtpClient();
try
{
smtpClient.Send(mailMessage);
Response.Write("<B>Email Has been sent successfully.</B>");
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
protectedvoid chkAll\u CheckedChanged(对象发送方,事件参数e)
{
foreach(GridView1.Rows中的GridViewRow gr)
{
复选框cb=(复选框)gr.FindControl(“chkItem”);
如果(((复选框)发件人)。选中)
cb.Checked=真;
其他的
cb.Checked=假;
}
}
受保护的无效按钮3\u单击(对象发送者,事件参数e)
{
StringBuilder sb=新的StringBuilder();
foreach(GridView1.Rows中的GridViewRow gr)
{
复选框cb=(复选框)gr.FindControl(“chkItem”);
如果(cb.选中)
{
sb.Append(GridView1.DataKeys[gr.RowIndex][“Email”].ToString());
某人加上(“,”);
}
}
//创建主邮件消息类的实例。
System.Net.Mail.MailMessage=new System.Net.Mail.MailMessage();
mailMessage.From=new System.Net.Mail.MailAddress(
System.Configuration.ConfigurationManager
.AppSettings[“fromEmailAddress”]);
mailMessage.Priority=System.Net.Mail.MailPriority.High;
//文本/HTML
mailMessage.IsBodyHtml=false;
mailMessage.Body=“你好,这是新邮件”;
mailMessage.Subject=“需要RCA批准”;
System.Net.Mail.SmtpClient SmtpClient=新系统.Net.Mail.SmtpClient();
尝试
{
smtpClient.Send(mailMessage);
回复。写(“电子邮件已成功发送。”);
}
捕获(例外情况除外)
{
响应。写入(例如消息);
}
}
您需要将邮件的地址设置为
您可能希望这样做:
protected void Button3_Click(object sender, EventArgs e)
{
MailMessage mailMessage=new MailMessage();
foreach(GridViewRow gr in GridView1.Rows)
{
CheckBox cb = (CheckBox)gr.FindControl("chkItem");
if(cb.Checked)
{
//sb.Append(GridView1.DataKeys[gr.RowIndex]["Email"].ToString());
//sb.Append(",");
//SETUP THE EMAIL ADDRESSES TO WHICH YOU WANT TO SEND EMAIL
mailMessage.To.Add(new MailAddress(
GridView1.DataKeys[gr.RowIndex]["Email"].ToString()));
}
}
此外,如果您的SMTP
服务器需要身份验证,您还需要提供凭据。或者您可以将所有设置放入web.config中的
标记中,因为您没有向任何人发送电子邮件
使用gridview上的选定地址设置mailMessage.To属性的值
另外,请检查您的SMTP服务,可能需要提供凭据并启用SSL