博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.Net魔法堂:发个带附件的邮件
阅读量:6464 次
发布时间:2019-06-23

本文共 2123 字,大约阅读时间需要 7 分钟。

一、前言                          

  由于工作需要最近把邮件发送封装成WebService,现在把代码记录在此,以便日后查阅。

 

二、二话不说写代码                    

private void _SendMail(string form, string pw, string subject, string[] to, string[] cc, string body, string attachmentName, byte[] attachment)        {            SmtpClient client = new SmtpClient(SMTP服务地址, SMTP服务端口);            client.UseDefaultCredentials = true;            client.Credentials = new NetworkCredential(form, pw); // 验证信息要与邮件发送源地址一致,否则无法发送            client.DeliveryMethod = SmtpDeliveryMethod.Network;            MailMessage message = new MailMessage();            message.From = new MailAddress(form);            foreach (string toItem in to)            {                message.To.Add(toItem);            }            foreach (string ccItem in cc)            {                message.CC.Add(ccItem);            }            message.Subject = subject;            message.SubjectEncoding = Encoding.UTF8;            message.Body = body;            message.BodyEncoding = Encoding.UTF8;            message.IsBodyHtml = true;            message.Priority = MailPriority.High;            Stream stream = null;            Attachment data = null;            try            {                if (attachment != null && attachment.Length > 0)                {                    stream = new MemoryStream(attachment);                    data = new Attachment(stream, attachmentName, System.Net.Mime.MediaTypeNames.Application.Octet);                    message.Attachments.Add(data);                }                client.Send(message);            }            finally            {                if (null != stream)                {                    stream.Close();                }            }        }

三、三种发送方式                            

  发送邮件有三种方式:

  ①. client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;

  直接通过远程SMTP服务器发送邮件

  ②. client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.PickupDirectoryFromIis;

  通过本机的IIS服务器的SMTP服务发送邮件(后续在研究什么配置SMTP服务器?)

  ③. client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.SpecifiedPickupDirectory;

  将邮件发送到本机指定目录中,再通过其他手段(如通过FTP)发送到目的地

转载地址:http://kurzo.baihongyu.com/

你可能感兴趣的文章
powershell 脚本执行
查看>>
Linux date命令用法和使用技巧(获取今天、昨天、一分钟前等)
查看>>
corosync+pacemaker实现web集群高可用
查看>>
《跟老男孩学Linux运维:核心基础实战》勘误与反馈
查看>>
dns配置
查看>>
linux禁用优盘
查看>>
AIX小型机巡检命令
查看>>
16 IP地址划分
查看>>
NBU 7.0异机恢复Linux备份文件的方法(四)
查看>>
linux下oracle 11g r2的安装(一)
查看>>
虚拟机克隆技术
查看>>
saltstack安装配置
查看>>
oracle启停脚本
查看>>
Linux下expect批量更改交换机端口属性
查看>>
j2ee中,经常提到POJO,PO,DTO,DAO,BO
查看>>
修改表字段的长度值
查看>>
LAMP 脚本
查看>>
【云杂谈】之四《大数据浪潮中,IT巨头和互联网新贵谁在裸泳?》
查看>>
教你把UIView切成任意形状
查看>>
CentOS7 RPM包管理功能总结及示例
查看>>