我正在尝试使用System.Net.Mail.SmtpClient类发送电子邮件asp.net。
但是,我收到以下异常消息:
The parameter 'addresses' cannot be an empty string.
Parameter name: addresses这是我的发送电子邮件代码:
private void SendEmailUsingGmail(string toEmailAddress)
{
try
{
SmtpClient smtp = new SmtpClient();
smtp.Credentials = new NetworkCredential("keysketyyyy@gmail.com",
"sdsdasd");
smtp.Port = 587;
smtp.Host = "smtp.gmail.com";
smtp.EnableSsl = true;
MailMessage message = new MailMessage();
message.From = new MailAddress("keysketyyy@gmail.com");
message.To.Add(toEmailAddress);
message.Subject = "Write your email subject here";
message.Body = "write the content of the email here";
smtp.Send(message);
}
catch (Exception ex)
{
Response.Write("Error occured: " + ex.Message.ToString());
}
}异常是在SendEmailUsingGmail catch块中捕获的。
这是调用代码:
protected void Button1_Click(object sender, EventArgs e)
{
string connStr = ConfigurationManager.ConnectionStrings["mydms"].ConnectionString;
SqlConnection mySQLconnection = new SqlConnection(connStr);
if (mySQLconnection.State == ConnectionState.Closed)
{
mySQLconnection.Open();
for (int i = 0; i < Repeater2.Items.Count; i++)
{
DropDownList DropDownListcontrol = ((DropDownList)Repeater2.Items[i].FindControl("DropDownList4"));
Label DocId = ((Label)Repeater2.Items[i].FindControl("DocId"));
SqlCommand cmd = new SqlCommand("approveddd", mySQLconnection);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@DocID", SqlDbType.Int).Value = Convert.ToInt32((DocId.Text));
cmd.Parameters.Add("@ApproveID", SqlDbType.Int).Value = Convert.ToInt32(DropDownListcontrol.SelectedValue);
cmd.Parameters.Add("@ApproveBy", SqlDbType.VarChar, 50).Value = (Session["Login2"]);
try
{
cmd.ExecuteNonQuery();
string emailId = ((Label)Repeater2.Items[i].FindControl("Label2")).Text;
SendEmailUsingGmail(emailId);
}
catch (Exception ex)
{
Supvisor.Text=(ex.Message);
}
cmd.ExecuteNonQuery();
//UPDATE APPPROVEID IN DOCUMENTINFO TABLE
//DMSLIB.Doc myDoc = new DMSLIB.Doc();
//myDoc.MarkDocAs(Convert.ToInt16(DocId.Text),
Convert.ToInt32(DropDownListcontrol.SelectedValue));
}
}
else
{
Supvisor.Text = "Error";
}
if (mySQLconnection.State == ConnectionState.Open)
{
mySQLconnection.Close();
}
}当管理员批准/拒绝文档时,数据保存到数据库中,如下所示
SeqNo DocID ApproveID ApproveBy
82 20 3 john
83 21 1 john
84 18 2 kety
85 19 1 emel现在我发送电子邮件,当管理员点击按钮,然后电子邮件发送到各自的电子邮件id,如我在中继器表格中所示
DocID DocName Uplaodedfile UserEmail DocType DepType ApproveID
1 ABC def.pdf abcdef@gmail.com pdf hr (In this i set dropdown values are (approve/reject/pending)发布于 2013-11-22 01:39:37
试一试
message.To.Add(New MailAddress(toEmailAddress));并验证变量"toEmailAddress“的内容。
发布于 2015-09-17 21:50:05
此异常是由MailAddress构造函数引发的。这意味着您正在尝试添加一个空字符串作为电子邮件地址,这是无效的。
在本例中,这意味着toEmailAddress是一个空字符串。
https://stackoverflow.com/questions/20127918
复制相似问题