C# 163邮箱发送 附件以及邮件信息

  public static bool SendEmail(EmailInfo mailInfo)
        {
            try
            {
                MailMessage mailMsg = new MailMessage();
                mailMsg.To.Add(new MailAddress(mailInfo.ToAddress));
                mailMsg.From = new MailAddress(mailInfo.FromAddress, mailInfo.DisplayName);
                mailMsg.Subject = mailInfo.Subject;
                mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(mailInfo.Body, Encoding.UTF8, MediaTypeNames.Text.Html));
                SmtpClient smtpClient = new SmtpClient(mailInfo.SmtpHost, mailInfo.SmtpPort);
                System.Net.NetworkCredential credentials = new System.Net.NetworkCredential(mailInfo.SmtpUserName, mailInfo.SmtpPassword);
                smtpClient.Credentials = credentials;
                if (!string.IsNullOrEmpty(mailInfo?.filename) && mailInfo?.stream != null)
                {
                    mailMsg.Attachments.Add(new Attachment(mailInfo.stream, mailInfo.filename));
                }
                smtpClient.Send(mailMsg);
            }
            catch (Exception ex)
            {
                return false;
            }
            return true;
        }
 public class EmailInfo
    {
        /// <summary>
        /// 收件人地址
        /// </summary>
        public string ToAddress { get; set; }
        /// <summary>
        /// 发件人地址
        /// </summary>
        public string FromAddress { get; set; }
        /// <summary>
        /// 显示名称
        /// </summary>
        public string DisplayName { get; set; }
        /// <summary>
        /// 邮件主题
        /// </summary>
        public string Subject { get; set; }
        /// <summary>
        /// SMTP服务器地址
        /// </summary>
        public string SmtpHost { get; set; }
        /// <summary>
        /// SMTP服务器端口
        /// </summary>
        public int SmtpPort { get; set; }
        /// <summary>
        /// SMTP服务器用户名
        /// </summary>
        public string SmtpUserName { get; set; }
        /// <summary>
        /// SMTP服务器密码
        /// </summary>
        public string SmtpPassword { get; set; }
        /// <summary>
        /// 邮件正文内容
        /// </summary>
        public string Body { get; set; }

        /// <summary>
        /// 附件 附件名字必填
        /// </summary>
        public Stream stream { get; set; }

        /// <summary>
        /// 附件名字:带后缀的
        /// </summary>
        public string filename { get; set; }
    }
附件依赖于 NPOI

public static MemoryStream ExportCompanyOrder()
        {
            List<car_company_orderEntity> list = new List<car_company_orderEntity>();
            for (int i = 0; i < 100; i++)
            {
                list.Add(new car_company_orderEntity() { car_company_order_id = i, company_name = "测试" + i });
            }

            //创建Excel文件的对象
            NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();
            //添加一个sheet
            NPOI.SS.UserModel.ISheet sheet1 = book.CreateSheet("Sheet1");
            //给sheet1添加第一行的头部标题
            NPOI.SS.UserModel.IRow row1 = sheet1.CreateRow(0);
            row1.CreateCell(0).SetCellValue("ID");
            row1.CreateCell(1).SetCellValue("授权商名称");

            //将数据逐步写入sheet1各个行
            for (int i = 0; i < list.Count(); i++)
            {
                NPOI.SS.UserModel.IRow rowtemp = sheet1.CreateRow(i + 1);
                rowtemp.CreateCell(0).SetCellValue(list[i]?.car_company_order_id.ToString()); //ID
                rowtemp.CreateCell(1).SetCellValue(list[i]?.company_name); //授权商名称
            }
            // 写入到客户端
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            book.Write(ms);
            ms.Seek(0, SeekOrigin.Begin);
            return ms;
        }
  var mailInfo = new EmailInfo();
            mailInfo.SmtpHost = "smtp.163.com";
            //mailInfo.SmtpPort = 25;
            mailInfo.SmtpUserName = "[email protected]";
            mailInfo.SmtpPassword = "cheng1993";
            mailInfo.DisplayName = "智领";
            mailInfo.FromAddress = "[email protected]";
            mailInfo.ToAddress = "[email protected]";
            mailInfo.Subject = "测试";
            mailInfo.Body = "测试的啊 ";
            mailInfo.filename = "111.xls";
            mailInfo.stream = ExportCompanyOrder();
            var aa = SendEmail(mailInfo);

demo 用来测试,以及发送。 注意:163后端需要在 开启客户端授权密码

原文地址:https://www.cnblogs.com/ichengq/p/10679232.html

时间: 2024-10-13 10:59:23

C# 163邮箱发送 附件以及邮件信息的相关文章

Mac怎么快速创建便签和发送附件的邮件

1.如何快速创建便签        在Mac的任意界面选中文字:shift+command+y 就能创建便签2.如何快速发送附件的邮件(网页界面)        在Safari网页界面 command+i       或者在Safari右上角分享按钮中分享

EMS查看及修改邮箱发送和接受邮件大小的方法

默认情况下,新建用户邮箱没有进行单独设置,故用户邮箱默认值为"Unlimited"(未限制),即遵从全局设置(继承邮箱数据库策略).通过EMS查看用户邮箱发送和接受邮件大小的默认值,键入以下命令. Get-Mailbox wsj | Fl MaxsendSize,MaxReceiveSize (2)EMS限制用户发送和接受邮件大小(以用户"wsj"限制邮件发送和接受大小20mb为例).键入以下命令. Set-Mailbox wsj -MaxSendSize 20mb

springboot整合邮件发送(163邮箱发送为例)

//先登录163邮箱获取授权 勾选后安装提示会叫你设置授权密码之类的:记住授权的密码 1.引入maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> application.yml里配置: spring: mail: host: smt

Linux Centos 7环境下的mailx代理163邮箱发送邮箱

一.安装mailxyum -y install mailx 二.配制 [[email protected]~]# vim /etc/mail.rc set [email protected] # 发送邮件后显示的邮件发送方 set smtp.163.com # 163 smtp邮件服务器 set [email protected] # 你的163邮箱 set smtp-auth-password=yourpass # 你的163邮箱密码(设置页面加密后的授权码) set smtp-auth=lo

获取163邮箱的邮件 并下载附件

老师要求让获取邮箱邮件内容,发件人.收件人.发送时间等等,转存到excel里面,并下载邮件带的附件,通过网上搜集资料,整理出如下代码,只是实现功能,代码并未优化. 使用的时候只需要填写自己邮箱账号密码就可 下面贴出代码, package ltg.defualt; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; import ltg.helper.POP3ReceiveMailTe

java邮件发送(以163邮箱为例)

1.首先应该开通163邮箱的smtp和pop3,得到授权码 2.其次建立一个web项目,否则需要倒jar包mail.jar 3.创建一个类 4.注意:邮件内容必须为正式话语,否则系统会认为是垃圾邮件而拒收,报错541DT public static void main(String[] args) throws MessagingException { Properties prop=new Properties(); prop.put("mail.host","smtp.1

php 调用现成类实现163邮箱邮件发送

今天学习使用了使用163邮箱作为发送邮箱,虽然使用了网上的一些方法,但是都没有成功,后来使用了老师给的一个封装好的类,地址如下: 链接:http://pan.baidu.com/s/1hrOCyqw 密码:kr1v 其中,Email.php是封装类,mail_func.php是调用文件, 注:需要在163邮箱设置中开启 SMTP服务 顺带一提,使用qq域名邮箱发送邮件的方法(他人博客)推荐一波: http://blog.csdn.net/baidu_30000217/article/detail

app里使用163邮箱发送邮件,被163认为是垃圾邮件的坑爹经历!_ !

最近有个项目,要发邮件给用户设定的邮箱报警,然后就用了163邮箱,代码是网上借来的^^,如下: package com.smartdoorbell.util; import android.os.AsyncTask; import java.util.Date; import java.util.List; import java.util.Properties; import javax.activation.CommandMap; import javax.activation.Mailca

Java Mail 发送带有附件的邮件

1.小编用的是163邮箱发送邮件,所以要先登录163邮箱开启POP3/SMTP/IMAP服务方法: 2.下载所需的java-mail 包 https://maven.java.net/content/repositories/releases/com/sun/mail/javax.mail/ 3.贴上代码 package javamail; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; impor