.net中实现发送邮件(C#)

本文提供两个C#代码片段示例,展示如何使用MailMessage类发送带有附件的电子邮件,并支持基本认证。包括设置邮件内容、格式、优先级及通过SMTP服务器发送等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码片段一

private void Button1_Click(object sender, System.EventArgs e)
        
{
            MailMessage mailObj 
= new MailMessage(); 

            mailObj.Fields.Add(
"http://schemas.microsoft.com/cdo/configuration/smtpauthenticate""1" ); 
            
//basic authentication
            mailObj.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername""xiaojie19826294" );
            
// 设置smtp服务器登录账号(如您yeah.net的信箱账号)smtp.yeah.net
            mailObj.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword""1234" ); 

            
// 设置邮件的发送及接收地址
            mailObj.From = tb_From.Text;
            mailObj.To   
= tb_To.Text;
            mailObj.Cc   
= tb_Cc.Text;

            mailObj.Subject 
= tb_Sub.Text;
            mailObj.Body    
= tb_Body.Text;

            
// html格式的邮件
            mailObj.BodyFormat = MailFormat.Html;

            
// 设置为高级优先权
            mailObj.Priority = MailPriority.High;

            
if (File1.Value.ToString()!="")
            
{
                
// 为邮件添加附件
                
// 注意:这里我们创建了一个mailattachment对象添加一个附件到邮件中
                MailAttachment myAtt = new MailAttachment(File1.Value.ToString());
                
//myAtt.Filename = ;
                mailObj.Attachments.Add(myAtt);
            }
  
            
// 使用SmtpMail对象发送邮件  
            SmtpMail.SmtpServer="smtp.sina.com";//发件邮箱服务器  yeah.net
            SmtpMail.Send(mailObj);

            Lab.Text 
= "发送完毕!";
        }
 

 代码片段二

     /// <summary>
    
/// 发送Email信息(带验证)
    
/// </summary>
    
/// <param name="To">收件Email</param>
    
/// <param name="From">发件Email</param>
    
/// <param name="Subject">标题</param>
    
/// <param name="Message">内容</param>
    
/// <param name="MailFormat">邮件格式(文本/HTML)</param>
    
/// <param name="SmtpServer">发送邮局</param>
    
/// <param name="SenderID">发送者帐号</param>
    
/// <param name="SenderPassword">发送者密码</param>
    
/// <returns>是否成功</returns>

    public static bool SendEmail(string To, string From, string Subject, string Message, MailFormat MailFormat,string SmtpServer,string SenderID, string SenderPassword)
    
{
        MailMessage msg 
= new MailMessage();
        msg.Subject 
= Subject;
        msg.To 
= To;
        msg.From 
= From;
        msg.BodyFormat 
= MailFormat;
        msg.Body 
= Message;
        msg.Fields.Add(
"http://schemas.microsoft.com/cdo/configuration/smtpauthenticate""1"); //basic authentication
        msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", SenderID); //set your username here
        msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", SenderPassword); //set your password here

        SmtpMail.SmtpServer 
= SmtpServer;

        
try
        
{
            SmtpMail.Send(msg);
            
return true;
        }

        
catch
        
{
            
return false;
        }

    }
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值