读书人

利用System.Net.Mail发送邮件老是失败

发布时间: 2012-02-01 16:58:19 作者: rapoo

利用System.Net.Mail发送邮件老是失败,代码和配置全在里面。救命啊
public Email(string p_strAccepter,string p_strBcc,string p_strCc,string p_strSender,
string p_strBody,string p_strSubject,string p_strFile,bool p_blIsBodyHtml)
{
m_strAccepter = p_strAccepter.Trim();
m_strBody = p_strBody.Trim();
m_strBcc= p_strBcc.Trim();
m_strCc = p_strCc.Trim();
m_strFile = p_strFile.Trim();
m_strSender = p_strSender.Trim();
m_strSubject = p_strSubject.Trim();

m_mmMail = new MailMessage(m_strSender, m_strAccepter);
m_mmMail.Body = m_strBody;
m_mmMail.Subject = m_strSubject;

if (!string.IsNullOrEmpty(m_strCc))
{
m_mmMail.CC.Add(m_strCc);
}

if (!string.IsNullOrEmpty(m_strBcc))
{
m_mmMail.Bcc.Add(m_strBcc);
}

m_mmMail.IsBodyHtml = p_blIsBodyHtml ? true : false;

if (!string.IsNullOrEmpty(m_strFile))
{
Attachment attchment = new Attachment(m_strFile);
m_mmMail.Attachments.Add(attchment);
}

}

/// <summary>
/// 实现发送电子邮件的功能,false失败;true成功
/// </summary>
/// <returns> false失败;true成功 </returns>
public bool SendEmail()
{
SmtpClient sc = new SmtpClient();
sc.Host = "localhost ";
sc.Port = 25;



bool blFlag = false;
try
{
sc.Send(m_mmMail);
blFlag = true;
}
catch(Exception err)
{
string strErr=err.Message;
}

return blFlag;
}

//这是发送按钮
protected void btnSend_Click(object sender, EventArgs e)
{
bool blIsBodyHtml = rbHtml.Checked ? true : false;
string strPath=fuFileUpload.PostedFile.FileName.ToLower();

Email email = new Email(txtAccept.Text, txtBcc.Text, txtCc.Text, txtSender.Text, txtBody.Text,
txtSubJect.Text, strPath, blIsBodyHtml);

if (email.SendEmail())
{
Response.Write( " <script language=javascript> alert( '发送成功! ') </script> ");
txtSubJect.Text = " ";
txtSender.Text = " ";
txtCc.Text = " ";
txtBody.Text = " ";
txtBcc.Text = " ";
txtAccept.Text = " ";
}
else
{
Response.Write( " <script language=javascript> alert( '发送失败! ') </script> ");
}

}

[解决办法]
1.本机开了smtp服务了没
2.对方服务器需要身份验证?
3.什么出错信息 老是说出错 谁知道是什么错呢 又不是神
4.楼下回答
------解决方案--------------------


发送失败?
欧卡已经说了原因了
1。服务器上的SMTP服务没有开
2。如果用163这些类似的邮箱,发送邮件必须提供身份验证,,而且发送FROM必须设置成邮箱名称

[解决办法]
up

读书人网 >asp.net

热点推荐