利用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