smtplib 抄送邮件_Smtp发送及抄送邮件
前段时间下载了某园友自己积累的开源类库,正好昨天有个需求需要发下邮件,于是就打算试下这个类库里面的 SmtpServerHelper 。
程序跑起来后,单人发送、附件发送、多人发送都是正常的,不过这个多人发送的时候,邮件的收件人栏只会显示第一个收件人的信箱地址,不会再显示其他人的信箱地址,也就是如果自己不是第一个收件人,信箱地址明显就是错误的,一看源码:
SendBufferstr += "To:=?" + mailMessage.Charset.ToUpper() + "?B?" + Base64Encode((string)mailMessage.Recipients[0]) + "?=" + "" + CRLF;
原来这里没有遍历所有收件人,只是单纯的获取收件人集合的第一个显示出来。
另外还有一点就是没有抄送和密送功能。好吧,我们就在这个基础上做小小修改就可以解决这2个问题:
我们把上述代码做如下修改:
//发件人,支持多个发件人显示SendBufferstr += "To:";
for (int i = 0; i
{
SendBufferstr += "=?" + mailMessage.Charset.ToUpper() + "?B?" + Base64Encode((string)mailMessage.Recipients[i]) + "?=" + ",";
}
需要注意的是,用Base64编码的是用来显示收件人的名称,""中间用来显示收件人信箱地址。
抄送功能,其实这个CC,没有什么特别之处,因为它的发送和正常的发送是一样的,只是在显示抄送人的时候不同而已:
if (mailMessage.CCs != null && mailMessage.CCs.Count > 0)
{
SendBuffer = new string[mailMessage.CCs.Count];
for (int i = 0; i
{
SendBuffer[i] = "RCPT TO:" + CRLF;
}
if (!Dialog(SendBuffer, "抄送人地址错误")) return false;
}
这就是给抄送人发邮件,但光有这个还不行,因为抄送人是收到了,但抄送人地址栏仍然不会显示出来;
if (mailMessage.CCs != null && mailMessage.CCs.Count > 0)
{
SendBufferstr += "Cc:";
for (int i = 0; i
{
SendBufferstr += "=?" + mailMessage.Charset.ToUpper() + "?B?" + Base64Encode((string)mailMessage.CCs[i]) + "?=" + ",";
}
SendBufferstr += CRLF;
}
其实,就是将发送人的标志:"To"改成"Cc"就可以了;密送这里就不做描述了,因为密送是不用显示密送收件人的,所以上面这段就不需要了。
smtplib 抄送邮件_Smtp发送及抄送邮件相关推荐
- java 实现邮件的发送, 抄送及多附件
import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.*; im ...
- C# 邮件的发送,抄送
// 引入命名空间 using System.Net; using System.Net.Mail; SmtpClient smtp = new SmtpClient(); //实例化一个SmtpCl ...
- word合并邮件无法发送html,Word邮件合并批量发送带附件的邮件
应张老师的需求,修改制作了一个可以批量发送带附件的电子邮件VBA. 目的:给N多人发送电子邮件,而不是抄送模式,并带有对方的称谓. 实现: 用到Word的邮件合并功能,以及调用Outlook发送邮件. ...
- php 实现邮件定时发送,PHP实现邮件的自动发送
这样就可以实现邮件的发送了.结果如下: 如果要实现自动发送邮件的话,那么程序必须能自动的运行.程序在后台自动运行的代码如下:<?php ignore_user_abort(); // 后台运行 ...
- python发送html格式邮件,python 发送html格式邮件到qq(示例代码)
#-*- coding: utf-8 -*- __author__ = 'Alon' __date__ = '2017/8/14 18:38' importsys reload(sys) sys.se ...
- phpmailer 私密抄送_PHP电子邮件发送密件抄送
我知道有一些与此类似的问题,但我无法使其正常运行. 好的,我在一个名为$ emailList的变量中有一个从数据库中获取的电子邮件列表.如果将变量放在该$to部分中,则可以获取代码以从表单发送电子邮件 ...
- java实现邮件发送, 抄送及多附件发送
java实现邮件发送, 抄送及多附件发送 所需的jar包 mailapi.jar和smtp.jar 或 javax-mail-xxx.jar(如javax.mail-1.5.6.jar) ht ...
- python 收发邮件_python发送各类邮件的主要基本方法
利用python实现基本的邮件发送. 感谢以下博客的整理,本人在学习的同时也做了一些整理 一.相关模块介绍 发送邮件主要用到了smtplib和email两个模块,这里首先就两个模块进行一下简单的介绍: ...
- python学习笔记[3]-邮件的发送
本文摘抄自:http://www.cnblogs.com/xiaowuyi/archive/2012/03/17/2404015.html 一.相关模块介绍 发送邮件主要用到了smtplib和emai ...
- SpringBoot邮件发送(抄送、密送、图片、多文件等一应俱全哦)
人生若只如初见,何事秋风悲画扇. 下班回去听到室友讲到他们项目正在写一个邮件发送,突然手痒写此功能,后来总结形成该文,希望对大家有帮助! 本文非常详细且实用,是不是干货你说了算! 所用:springb ...
最新文章
- 36张图详解网络基础知识
- C语言实验——求一个3*3矩阵对角线元素之和
- 尝试优化骨骼动画计算的意外收获——使用嵌入式汇编对float转int进行优化
- 损失函数梯度对比-均方差和交叉熵
- goldendb基于mysql_中兴通讯GoldenDB在中信银行信用卡核心应用实践
- Swift学习笔记8--Optional Chaining
- Hibernate缓存的evict、clear和flush方法
- 基于C++的校园一卡通管理系统
- 单核CPU破解后量子加密候选算法只需一小时
- 等级保护三级和二级有什么区别?
- 强化学习笔记:马尔科夫链介绍及基于Python的蒙特卡洛仿真
- web网页设计实例作业 :美食坊网站设计——美食坊美食购物主题(15页) HTML+CSS+JavaScript
- d3.js学习笔记(5)drag拖拽操作数据
- speedoffice(Excel)图片上怎么添加文字
- oracle字符集增加生僻字,Oracle SQL一个“生僻字”的优化
- mono.dll caused an Access Violation (0xc0000005) in module mono.dll at 0033:e6b552d6.
- 计算机 实验室安全准入制度,南京信息工程大学实验室安全准入制度(试行)...
- 4.3.5 计算电费
- 近期想跳槽的程序员必看!阿里P7级别面试经验总结,使用指南
- linux版本的xmind怎么安装教程,Linux下安装脑图软件XMind的步骤