精华内容
下载资源
问答
  • java 邮件工具类 多收件人抄送人 多附件 内有三个重载方法 使用方便
  • 今天的主题是让同一个收件人地址同时显示在收件人和抄送人栏中。我来解释一下:在Notes邮箱中,撰写一封邮件,在to(收件人栏)和CC(抄送人栏)同时输入同一个收件人的名字或邮箱地址,你猜这个收件人会收到多少封...

    大家好,才是真的好。有心的人已经看出来了,上周我们都在讨论Notes Domino交易和产品新闻等,这周我们在主打技术内容。我已经做好了心理准备:这年头看技术的没看热闹的人多。

    今天的主题是让同一个收件人地址同时显示在收件人和抄送人栏中。我来解释一下:在Notes邮箱中,撰写一封邮件,在to(收件人栏)和CC(抄送人栏)同时输入同一个收件人的名字或邮箱地址,你猜这个收件人会收到多少封邮件?
    在这里插入图片描述
    答案当然是一封,因为你发送的一瞬间,to和cc就会进行收件人地址检查,并进行地址合并,如下图:
    在这里插入图片描述
    于是,就回到了今天的主题上——有人提出一个十分罕见的需求,我要在这封邮件上的to和cc中同时显示同一个地址,不许合并,并且对方只能收到一封邮件,该怎么办?
    在这里插入图片描述
    从业以来,我几乎没有遇到这种需求,但是有人提出,我便查了一下,Notes的强大简直超乎我想象,这个的确可以做到!

    很简单,打开找到IBM Notes客户机的notes.ini文件,在最后一行中添加语句Mail_Check_META_Dups=0,而后回车,如下图:
    在这里插入图片描述
    保存关闭,重新启动Notes客户机,现在我们再撰写同样一封邮件,即在to和cc中都填写同一个地址,当我们收到邮件后:
    在这里插入图片描述
    没错,我也震惊了,我只收到一封邮件,但邮件中的to和cc栏显示着同一个邮箱地址。另外我也测试了to、cc、bc(密送)等栏位,都支持该功能。另外,外网发送邮件,也可以显示。

    虽然我暂时没有想到这有什么作用,不过聪明的你,也许可以想到妙用之处,不妨去试试吧。

    更多精彩内容请关注微信公众号“协作者”
    在这里插入图片描述
    原文地址:https://mp.weixin.qq.com/s/HF7qHKTWBHvEMMmGIXXGRQ

    展开全文
  • 收件人和抄送人的邮箱会出现在邮件中,被密送者的邮箱不会出现。 2、如何使用 假设邮件内容是“复印一份文件”,发送者的意图是让收件人去复印文件,让被抄送人看看谁在干啥事,不需要去复印文件。 假设要发送...

    1、概念

    三者都是接收者的电子邮箱。

    收件人顾名思义就是接收邮件的人。

    抄送就是抄一份邮件发送。

    密送就是抄一份秘密发送。

    收件人和被抄送人的邮箱会出现在邮件中,被密送者的邮箱不会出现。

    2、如何使用

    假设邮件内容是“复印一份文件”,发送者的意图是让收件人去复印文件,让被抄送人看看谁在干啥事,不需要去复印文件。

    假设要发送给很多人一份邮件,但不想让接收者被其他接收者知道,可以用密送。

     

    展开全文
  • } /** * 设置发件人地址 * * @param from 发件人地址 * @return */ private boolean setFrom(String from) { try { mimeMsg.setFrom(new InternetAddress(from)); } catch (Exception e) { return false; } return ...

    ? ? ? 大周一的,上班没带耳机

    pom文件依赖

    com.sun.mail

    javax.mail

    1.5.6

    com.sun.mail

    smtp

    1.5.2

    jar

    compile

    com.sun.mail

    mailapi

    1.5.2

    jar

    compile

    class="java">package com.ssm.boot.service;

    import org.slf4j.Logger;

    import org.slf4j.LoggerFactory;

    import javax.activation.DataHandler;

    import javax.activation.FileDataSource;

    import javax.mail.*;

    import javax.mail.internet.*;

    import java.util.*;

    /**

    * Created by my on 2018/5/14.

    */

    public class MailService {

    private static String defaultSenderName = "########";// 默认的发件人用户名,defaultEntity用得到

    private static String defaultSenderPass = "########";// 默认的发件人密码,defaultEntity用得到

    private static String defaultSmtpHost = "smtp.163.com";// 默认的邮件服务器地址,defaultEntity用得到

    private String smtpHost; // 邮件服务器地址

    private String sendUserName; // 发件人的用户名

    private String sendUserPass; // 发件人密码

    private MimeMessage mimeMsg; // 邮件对象

    private Session session;

    private Properties props;

    private Multipart mp;// 附件添加的组件

    private List files = new LinkedList();// 存放附件文件

    private void init() {

    if (props == null) {

    props = System.getProperties();

    }

    props.put("mail.smtp.host", smtpHost);

    props.put("mail.smtp.auth", "true"); // 需要身份验证

    session = Session.getDefaultInstance(props, null);

    // 置true可以在控制台(console)上看到发送邮件的过程

    session.setDebug(true);

    // 用session对象来创建并初始化邮件对象

    mimeMsg = new MimeMessage(session);

    // 生成附件组件的实例

    mp = new MimeMultipart();

    }

    private MailService(String smtpHost, String sendUserName, String sendUserPass, String to, String cc, String mailSubject, String mailBody,List attachments) {

    this.smtpHost = smtpHost;

    this.sendUserName = sendUserName;

    this.sendUserPass = sendUserPass;

    init();

    setFrom(sendUserName);

    setTo(to);

    setCC(cc);

    setBody(mailBody);

    setSubject(mailSubject);

    if (attachments != null) {

    for (String attachment : attachments) {

    addFileAffix(attachment);

    }

    }

    }

    /**

    * 邮件实体

    *

    * @param smtpHost 邮件服务器地址

    * @param sendUserName 发件邮件地址

    * @param sendUserPass 发件邮箱密码

    * @param to 收件人,多个邮箱地址以半角逗号分隔

    * @param cc 抄送,多个邮箱地址以半角逗号分隔

    * @param mailSubject 邮件主题

    * @param mailBody 邮件正文

    * @param attachments 附件路径

    * @return

    */

    public static MailService entity(String smtpHost, String sendUserName, String sendUserPass, String to, String cc, String mailSubject, String mailBody,List attachments) {

    return new MailService(smtpHost, sendUserName, sendUserPass, to, cc, mailSubject, mailBody, attachments);

    }

    /**

    * 默认邮件实体,用了默认的发送帐号和邮件服务器

    *

    * @param to 收件人,多个邮箱地址以半角逗号分隔

    * @param cc 抄送,多个邮箱地址以半角逗号分隔

    * @param subject 邮件主题

    * @param body 邮件正文

    * 附件全路径

    * @return

    */

    public static MailService defaultEntity(String to, String cc, String subject, String body, List attachments) {

    return new MailService(defaultSmtpHost, defaultSenderName, defaultSenderPass, to, cc, subject, body, attachments);

    }

    /**

    * 设置邮件主题

    *

    * @param mailSubject

    * @return

    */

    private boolean setSubject(String mailSubject) {

    try {

    mimeMsg.setSubject(mailSubject);

    } catch (Exception e) {

    return false;

    }

    return true;

    }

    /**

    * 设置邮件内容,并设置其为文本格式或HTML文件格式,编码方式为UTF-8

    *

    * @param mailBody

    * @return

    */

    private boolean setBody(String mailBody) {

    try {

    BodyPart bp = new MimeBodyPart();

    bp.setContent("" + mailBody, "text/html;charset=UTF-8");

    // 在组件上添加邮件文本

    mp.addBodyPart(bp);

    } catch (Exception e) {

    System.err.println("设置邮件正文时发生错误!" + e);

    return false;

    }

    return true;

    }

    /**

    * 添加一个附件

    *

    * @param filename 邮件附件的地址,只能是本机地址而不能是网络地址,否则抛出异常

    * @return

    */

    public boolean addFileAffix(String filename) {

    try {

    if (filename != null && filename.length() > 0) {

    BodyPart bp = new MimeBodyPart();

    FileDataSource fileds = new FileDataSource(filename);

    bp.setDataHandler(new DataHandler(fileds));

    bp.setFileName(MimeUtility.encodeText(fileds.getName(), "utf-8", null)); // 解决附件名称乱码

    mp.addBodyPart(bp);// 添加附件

    files.add(fileds);

    }

    } catch (Exception e) {

    System.err.println("增加邮件附件:" + filename + "发生错误!" + e);

    return false;

    }

    return true;

    }

    /**

    * 删除所有附件

    *

    * @return

    */

    public boolean delFileAffix() {

    try {

    FileDataSource fileds = null;

    for (Iterator it = files.iterator(); it.hasNext(); ) {

    fileds = it.next();

    if (fileds != null && fileds.getFile() != null) {

    fileds.getFile().delete();

    }

    }

    } catch (Exception e) {

    return false;

    }

    return true;

    }

    /**

    * 设置发件人地址

    *

    * @param from 发件人地址

    * @return

    */

    private boolean setFrom(String from) {

    try {

    mimeMsg.setFrom(new InternetAddress(from));

    } catch (Exception e) {

    return false;

    }

    return true;

    }

    /**

    * 设置收件人地址

    *

    * @return

    */

    private boolean setTo(String to) {

    if (to == null)

    return false;

    try {

    mimeMsg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));

    } catch (Exception e) {

    return false;

    }

    return true;

    }

    /**

    * 设置抄送

    *

    * @param cc

    * @return

    */

    private boolean setCC(String cc) {

    if (cc == null) {

    return false;

    }

    try {

    mimeMsg.setRecipients(Message.RecipientType.CC, InternetAddress.parse(cc));

    } catch (Exception e) {

    return false;

    }

    return true;

    }

    /**

    * 发送邮件

    *

    * @return

    */

    public boolean send() throws Exception {

    mimeMsg.setContent(mp);

    mimeMsg.saveChanges();

    System.out.println("正在发送邮件....");

    Transport transport = session.getTransport("smtp");

    // 连接邮件服务器并进行身份验证

    transport.connect(smtpHost, sendUserName, sendUserPass);

    // 发送邮件

    transport.sendMessage(mimeMsg, mimeMsg.getAllRecipients());

    System.out.println("发送邮件成功!");

    transport.close();

    return true;

    }

    public static void main(String[] args) {

    String userName = "##########"; // 发件人邮箱

    String password = "##########"; // 发件人密码

    String smtpHost = "smtp.163.com"; // 邮件服务器

    String to = "########"; // 收件人,多个收件人以半角逗号分隔

    String cc = "########,########"; // 抄送,多个抄送以半角逗号分隔

    String subject = "这是邮件的主题"; // 主题

    String body = "天上的星星参北斗啊"; // 正文,可以用html格式的哟

    List attachments = Arrays.asList("D:\\A.png", "D:\\A.png"); // 附件的路径,多个附件也不怕

    MailService email = MailService.entity(smtpHost, userName, password, to, cc, subject, body, attachments);

    try {

    email.send(); // 发送!

    } catch (Exception e) {

    e.printStackTrace();

    }

    }

    }

    ?

    ?

    ?

    展开全文
  • def print_info(msg, log, indent=0):if indent == 0:send_email_to = []send_email_cc = []for header in ['From', 'To', 'Cc']:value = msg.get(header, '')# 获取原始的发件人 发送给谁 抄送人# 解析的emailAdr为...

    def print_info(msg, log, indent=0):

    if indent == 0:

    send_email_to = []

    send_email_cc = []

    for header in ['From', 'To', 'Cc']:

    value = msg.get(header, '')

    # 获取原始的发件人 发送给谁 抄送人

    # 解析的emailAdr为:[email protected]

    if value:

    value01 = value.split(', ')

    for item in value01:

    emailRealName, emailAdr = parseaddr(item)

    if header == 'From' or header == 'To':

    send_email_to.append(emailAdr)

    elif header == 'Cc':

    send_email_cc.append(emailAdr)

    else:

    pass

    # if value:

    # # 解析的value为:"[email protected]"

    # value = decode_str(value)

    # else:

    # hdr, addr = parseaddr(value)

    # name = decode_str(hdr)

    # value = u'%s ' % (name, addr)

    # log.info('%s%s: %s' % (' ' * indent, header, value))

    log.info('收件人: %s' % send_email_to)

    log.info('抄送人人: %s' % send_email_cc)

    # send_email_to: ['[email protected]', '[email protected]', '[email protected]']

    原文:https://www.cnblogs.com/We612/p/12072918.html

    展开全文
  • # 登录发件人账号 if self.cc_addr is not None: server.sendmail( self.get_val(self.from_addr)[0], self.get_val(self.to_addr) + self.get_val(self.cc_addr), msg.as_string() ) else: server.sendmail( self....
  • 使用smtp发送邮件时,在已发送邮件列表中,收件人信息显示“收件人未填写”,在邮件详情中也没有直接显示收件人信息,发件人也为空: 发送方显示: 收件方显示: 解决办法: 引入email.utils模块 中的parseaddr...
  • 我试图在outlook插件中获取发件人的SMTP地址 . 当我按照MSDN中的示例(如this one here)时,这可以正常工作:private void GetSMTPAddressForRecipients(Outlook.MailItem mail){const string PR_SMTP_ADDRESS =...
  • 在一次使用群发邮件的功能时,引用了第三方的发送邮件的类,phpmailer,在使用时出现收件人和发件人在不断增加,然后就去了解了一下CI的loader源码使用phpmailer的方法/*** 发送邮件* @param $to* @param string $...
  • 此Thunderbird扩展会自动将回复中的“发件人”字段更改为原始发件人的电子邮件中“收件人”或“抄送”中的内容,但前提是所有“收件人”“ CC”标头中只有一个电子邮件地址匹配可配置的模式。 要将这些文件打包到...
  • 发件人 InternetAddress from = new InternetAddress(sender_username); message.setFrom(from); // 设置多个收件人地址 if(null != toUser && !toUser.isEmpty()){ @SuppressWarnings("static-access") ...
  • java发送邮件的两种通用方法 一、 本文讲解的是基于smtp协议,发送...不过不了解也没关系,只需要知道,smtp协议存在一个安全漏洞,就是smtp协议允许你两次设置发件人和件人信息。第一次发送命令行mail from:...
  • 使用Laravel的回调时,我似乎无法成功发送到 多个 地址Mail::send(),但是,当我仅指定 一个 收件人时,该代码仍然有效。我试过链接:// for example$emails = array("myemail1@email.com", "myemail2@email.com");$...
  • 我的报告目录具体解释在代码中有详细注释import win32...'+'test02@jd.com'#收件人邮箱列表cc = 'test02@163.com'+';'+'test03@alibaba.com'#抄送人邮件列表mail_path = os.path.jo...
  • 收件人和抄送人可能为单个人,也可能为多个人。但是当收件人或抄送人中某一个邮箱的格式错误时,整个邮件发送就会出错停止发送。但我还需要给那些其余的人邮件,该怎么办?2.解决思路,当收件人邮箱错误时,可以...
  • yii邮件发送,官网给的例子不能设置发件人。设置发件人需要setFrom的参数是数组。 详情请见https://pgres.cn/article/detail/yii-send-mail
  • 简单介绍smtp、parseaddr、formataddr smtp是发送邮件的协议,python内置了对smtp协议...# 输入收件人地址: to_addr = input('To: ') # 输入SMTP服务器地址: smtp_server = input('SMTP server: ') server = smtplib
  • javamail 收件人/发件人 "乱码"解析

    千次阅读 2018-04-19 16:22:48
    在使用Javamail接收邮件时,获取到的发件人、收件人可能存在"乱码",例如:=?gb18030?B?MTA2NzU3NzA1MQ==?= <1017566033111@qq.com>原因: 其实这个并不是乱码,而是经过 字符编码、传输...
  • email发送,可以添加附件发送,发送给多个抄送 多个。获悉下载个人邮箱里的邮件等。
  • 最近公司在做发送邮件的项目,本人以前没有接触...这里包含 多收件人抄送人 多附件  import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Properties; import javax
  • try { //设置发件人 message.setFrom(new InternetAddress(sendEmail)); //设置收件人地址,以逗号隔开 InternetAddress[] sendTo = InternetAddress.parse(toEmilAddress); message.setRecipients(MimeMessage....
  • 电子邮件的在网络中传输网页一样需要遵从特定的协议,常用的电子邮件协议包括 SMTP,POP3,IMAP。其中邮件的创建发送只需要用到 SMTP协议,所有本文也只会涉及到SMTP协议。SMTP 是 Simple Mail Transfer ...
  • } /** * 设置发件人邮箱地址 * * @param sender * @throws UnsupportedEncodingException * @throws AddressException * @throws MessagingException */ public void setSender(String sender) throws ...
  • Swaks邮件发件人伪造

    千次阅读 2018-03-27 15:07:45
    发现一个伪造发件人的工具,哈哈,玩一玩参考网站:http://www.freebuf.com/sectool/92397.html (1)swaks –to <要测试的邮箱> (2)swaks --to xxxx@qq....
  • Email发送 带附件和抄送人不带附件的邮件带附件的邮件 不带附件的邮件 public void sendEmail(String code, String to) throws Exception { Properties emailProp = new Properties(); emailProp.setProperty(...
  • 没设置该部分在收邮件时告知是未知发件人 def _format_addr(s): addr = parseaddr(s) return formataddr(addr) #自定义发件人名称 message['From'] = _format_addr(u'殊二 <%s>' % msg_from) #将收件和抄送邮箱分别...
  • C# Winform简易发送邮件程序(可抄送、密送、附件)
  • python发送邮件(带附件)、发送给多人、抄送给多人的示例#!/usr/bin/env python# -*-encoding: utf-8 -*-import smtplibfrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMEText#image...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,300
精华内容 3,720
关键字:

发件人和抄送人