C#发送邮件,包含发送附件

23 篇文章 0 订阅
/// <summary>
/// 发送邮件
/// </summary>
/// <param name="sendEmail">收件人邮箱</param>
/// <param name="fromEmail">发件人邮箱</param>
/// <param name="fromName">发件人名称</param>
/// <param name="title">邮件标题</param>
/// <param name="body">邮件内容</param>
/// <param name="sendCC">抄送人邮箱</param>
public static void SendEmail(string sendEmail, string fromEmail, string fromName, string title, string body, List<string> sendCC)
{
    MailMessage msg = new MailMessage();

    msg.To.Add(sendEmail); //收件人邮箱
    msg.From = new MailAddress(fromEmail, fromName);  //发件人邮箱和名称
    msg.Subject = title;//邮件标题 
    msg.SubjectEncoding = Encoding.UTF8; //邮件标题格式为UTF8 
    msg.Body = body;//邮件内容
    msg.BodyEncoding = Encoding.UTF8; //邮件内容格式为UTF8 
    msg.IsBodyHtml = true;//设置邮件格式为html格式
    //设置抄送人地址
    if (sendCC != null && sendCC.Count > 0)
    {
        foreach (String cc in sendCC)
        {
            msg.CC.Add(cc);
        }
    }
    //添加附件
    //string filePath = @"C:\附件.xls";
    //msg.Attachments.Add(new Attachment(filePath));

    SmtpClient client = new SmtpClient();

    client.Host = "smtp.qq.com"; //SMTP服务器地址 
    client.Port = 587; //SMTP端口,QQ邮箱填写587 
    client.EnableSsl = true; //启用SSL加密 (使用除QQ邮箱之外的最好关闭)
    client.Credentials = new System.Net.NetworkCredential(fromEmail, "xxxxxxxxxxx"); //发件人邮箱账号,授权码(不是密码)
    try
    {
        client.Send(msg); //发送邮件
    }
    catch (Exception)
    {
        throw;
    }
}

注意:如果使用qq邮箱,密码请从邮箱中获取,如下图
设置 => 账号 => POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个使用C#编写的控制台程序,用于发送邮件: ```csharp using System; using System.Net; using System.Net.Mail; class Program { static void Main(string[] args) { // 设置邮件服务器 string smtpServer = args[0]; int smtpPort = 25; SmtpClient client = new SmtpClient(smtpServer, smtpPort); // 设置发件人 string from = args[1]; string displayName = args[2]; MailAddress fromAddress = new MailAddress(from, displayName); // 设置收件人 string to = args[3]; MailAddress toAddress = new MailAddress(to); // 创建邮件对象 MailMessage message = new MailMessage(fromAddress, toAddress); // 设置抄送和密送 if (args.Length > 4) { string[] cc = args[4].Split(','); foreach (string c in cc) { message.CC.Add(c); } } if (args.Length > 5) { string[] bcc = args[5].Split(','); foreach (string b in bcc) { message.Bcc.Add(b); } } // 设置主题和内容 message.Subject = args[6]; message.Body = args[7]; // 添加附件 if (args.Length > 8) { string[] attachments = args[8].Split(','); foreach (string attachment in attachments) { Attachment file = new Attachment(attachment); message.Attachments.Add(file); } } // 发送邮件 client.Send(message); Console.WriteLine("邮件发送成功!"); } } ``` 在命令行中输入以下命令即可发送邮件: ``` SendMail 邮件服务器IP 发件人 显示名称 收件人 抄送 密送 主题 内容 文件 ``` 其中,邮件服务器IP、发件人、显示名称、收件人、主题和内容是必填项,抄送、密送和文件是可选项。如果有多个收件人、抄送或密送,可以用逗号分隔。如果有多个文件,也可以用逗号分隔。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值