在asp.net 2.0中发送邮件
作者: webabcd
1、在web.config中的<configuration>内加入如下配置信息(host—smtp服务地址;port—端口号;userName—用户名;password—密码。请自行修改)。
<system.net>
<mailSettings>
<smtp>
<network host="smtpserver" port="25" userName="uid" password="pwd" />
</smtp>
</mailSettings>
</system.net>
<mailSettings>
<smtp>
<network host="smtpserver" port="25" userName="uid" password="pwd" />
</smtp>
</mailSettings>
</system.net>
2、aspx页面HTML代码
<
table
border
="0"
>
< tr >
< td >
发件人
</td>
< td >
< asp:TextBox runat ="server" ID ="emailfrom" > </asp:TextBox>
</td>
</tr>
< tr >
< td >
收件人
</td>
< td >
< asp:TextBox runat ="server" ID ="emailto" > </asp:TextBox>
</td>
</tr>
< tr >
< td >
主题
</td>
< td >
< asp:TextBox runat ="server" ID ="subject" > </asp:TextBox>
</td>
</tr>
< tr >
< td >
附件
</td>
< td >
< asp:FileUpload ID ="p_w_upload" runat ="server" />
</td>
</tr>
< tr >
< td >
内容
</td>
< td >
< asp:TextBox runat ="server" ID ="body" TextMode ="MultiLine" Columns ="50" Rows ="10" > </asp:TextBox>
</td>
</tr>
< tr >
< td colspan ="2" align ="center" >
< asp:Button runat ="server" ID ="btnSend" Text ="发送" OnClick ="btnSend_Click" />
</td>
</tr>
</table>
< tr >
< td >
发件人
</td>
< td >
< asp:TextBox runat ="server" ID ="emailfrom" > </asp:TextBox>
</td>
</tr>
< tr >
< td >
收件人
</td>
< td >
< asp:TextBox runat ="server" ID ="emailto" > </asp:TextBox>
</td>
</tr>
< tr >
< td >
主题
</td>
< td >
< asp:TextBox runat ="server" ID ="subject" > </asp:TextBox>
</td>
</tr>
< tr >
< td >
附件
</td>
< td >
< asp:FileUpload ID ="p_w_upload" runat ="server" />
</td>
</tr>
< tr >
< td >
内容
</td>
< td >
< asp:TextBox runat ="server" ID ="body" TextMode ="MultiLine" Columns ="50" Rows ="10" > </asp:TextBox>
</td>
</tr>
< tr >
< td colspan ="2" align ="center" >
< asp:Button runat ="server" ID ="btnSend" Text ="发送" OnClick ="btnSend_Click" />
</td>
</tr>
</table>
3、实例化一个MailMessage并设置其属性
MailMessage mm =
new MailMessage(emailfrom.Text, emailto.Text);
mm.Subject = subject.Text;
mm.Body = body.Text;
// HTML格式
mm.IsBodyHtml = true;
// 添加附件
mm.Attachments.Add( new Attachment(p_w_upload.PostedFile.InputStream, p_w_upload.FileName));
/*其他如抄送、优先级之类的都可以在MailMessage类的属性中设置*/
mm.Subject = subject.Text;
mm.Body = body.Text;
// HTML格式
mm.IsBodyHtml = true;
// 添加附件
mm.Attachments.Add( new Attachment(p_w_upload.PostedFile.InputStream, p_w_upload.FileName));
/*其他如抄送、优先级之类的都可以在MailMessage类的属性中设置*/
4、实例化一个SmtpClient,调用其Send方法,参数为MailMessage对象
SmtpClient sc =
new SmtpClient();
// 编程方式设置smtp(不用web.config)
// sc.Host = "";
// sc.Port = 25;
// sc.Credentials = new NetworkCredential("username", "password");
try
{
sc.Send(mm);
Response.Write( "ok");
}
catch (Exception ex)
{
// 与smtp相关的错误
if (ex is SmtpException)
{
// ex.ToString();
Response.Write( "smtp发信失败");
}
else
{
Response.Write(ex.ToString());
}
}
// 编程方式设置smtp(不用web.config)
// sc.Host = "";
// sc.Port = 25;
// sc.Credentials = new NetworkCredential("username", "password");
try
{
sc.Send(mm);
Response.Write( "ok");
}
catch (Exception ex)
{
// 与smtp相关的错误
if (ex is SmtpException)
{
// ex.ToString();
Response.Write( "smtp发信失败");
}
else
{
Response.Write(ex.ToString());
}
}
OK
转载于:https://blog.51cto.com/webabcd/345083