在asp.net 2.0中发送邮件

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>

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="attachment" 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(attachment.PostedFile.InputStream, attachment.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());
            }

        }
转载:http://www.cnblogs.com/webabcd/archive/2007/01/03/610735.html

posted on   秋天  阅读(191)  评论(0编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构

导航

< 2008年3月 >
24 25 26 27 28 29 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示