使用Jmail发送大量邮件

今天童鞋问我可不可以在一个账号上发送1000份的邮件,这个一定是可以有的。第一感觉就是循环1000次就可以了。

其实发送一份邮件首先要知道什么是SMTP?SMTP是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。我们主要相当于telnet到外面的SMTP服务器进行验证身份。确定对方的邮箱地址和自己的邮箱地址后,进行发送信息。

首先应该在项目里面导入jmail.jar,然后贴上如下代码差不多就可以了!(注意修改发送人、收件人、用户名和密码)

import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class HelloJMail {

    public static void sendMail(int times) {
        String host = "smtp.163.com"; // 指定的smtp服务器
        String from = "[email protected]"; // 邮件发送人的邮件地址
        String to = "[email protected]"; // 邮件接收人的邮件地址
        final String username = "[email protected]";  //发件人的邮件帐户
        final String password = "*******";   //发件人的邮件密码

        // 创建Properties 对象
        Properties props = System.getProperties();

        // 添加smtp服务器属性
        props.put("mail.smtp.host", host);
        props.put("mail.smtp.auth", "true");

        // 创建邮件会话
        Session session = Session.getDefaultInstance(props, new Authenticator(){
            @Override
            public PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(username, password);
            }

        });

        try {

            for(int i = 0; i < times; i++){
                // 定义邮件信息
                MimeMessage message = new MimeMessage(session);
                message.setFrom(new InternetAddress(from));
                message.addRecipient(Message.RecipientType.TO, new InternetAddress(
                        to));
                message.setSubject("HelloWorld!");
                message.setText("Hello World!");

                Transport.send(message);
            }

        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        HelloJMail.sendMail(1000);
    }

}

常用SMTP服务器:

Gmail(google.com)

POP3服务器地址:pop.gmail.com

SMTP服务器地址:smtp.gmail.com

sina.com:

POP3服务器地址:pop3.sina.com.cn

SMTP服务器地址:smtp.sina.com.cn

163.com:

POP3服务器地址:pop.163.com

SMTP服务器地址:smtp.163.com

126.com: 只针对VIP用户开放POP3和SMTP

POP3服务器地址:pop.vip.126.com

SMTP服务器地址:smtp.vip.126.com

yeah.net:

POP3服务器地址: pop.yeah.net

SMTP服务器地址: smtp.yeah.net

QQ邮箱 qq.com:

POP3服务器地址: pop.qq.com

SMTP服务器地址: smtp.qq.com

时间: 2024-10-19 21:50:06

使用Jmail发送大量邮件的相关文章

Jmail发送Html邮件内容

<span style="font-size:14px;"> import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeUtility; import javax.mail.Session; import javax.mail.MessagingException; import javax.mail.T

ASP如何实现注册后发送激活邮件?

<% Sub Sendemail(title,content,email) Set jmail = Server.CreateObject("JMAIL.Message") '建立发送邮件的对象 jmail.silent = true '屏蔽例外错误,返回FALSE跟TRUE两值j jmail.logging = true '启用邮件日志 jmail.Charset = "GB2312" '邮件的文字编码为国标 jmail.ContentType = &quo

Java发送QQ邮件

面试的时候被问到这个问题,别人问我用Java发过邮件没有,被问得一脸懵逼.然后就研究了一下,不是很难,按照网上的方法折腾了几天就搞出来了. 首先,使用QQ邮箱发送邮件之前需要在邮箱里面配置,开启pop3和smtp服务,其实这就是两个网络协议,一个是接受邮件的协议,一个是发送邮件的协议: POP3 是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议.它是因特网电子邮件的第一个离线协议标准,P

使用Zabbix服务端本地邮箱账号发送报警邮件的部署记录

邮件报警有两种情况:1)Zabbix服务端只是单纯的发送报警邮件到指定邮箱,发送报警邮件的这个邮箱账号是Zabbix服务端的本地邮箱账号(例如:[email protected]),只能发送,不能接收外部邮件.2)使用一个可以在互联网上正常收发邮件的邮箱账号(例如:[email protected]),通过在Zabbix服务端中设置,使其能够发送报警邮件到指定邮箱.上面第2中使用外部邮箱发送报警邮件之前已经介绍了:分布式监控系统Zabbix-3.0.3-完整安装记录(5)-邮件报警部署.下面说下

使用python发送QQ邮件

这里用到了Python的两个包来发送邮件: smtplib 和 email . Python 的 email 模块里包含了许多实用的邮件格式设置函数,可以用来创建邮件“包裹”.使用的 MIMEText 对象,为底层的 MIME(Multipurpose Internet MailExtensions,多用途互联网邮件扩展类型)协议传输创建了一封空邮件,最后通过高层的SMTP 协议发送出去. MIMEText 对象 msg 包括收发邮箱地址.邮件正文和主题,Python 通过它就可以创建一封格式正

linux服务器发送报警邮件

由于公司业务需要,领导要求发送报警邮件,在我的认知中应该是有两种,一种是将服务器搭建为邮件服务器,这种可以使用postfix或者sendmail等,但是配置相对比较复杂,对运维人员水平要求也比较高.其实完全没有必要这么做.这就说到我们的第二种方法了,可以调用第三方邮件服务器.我们公司有自己的邮件服务器,所以直接新建了个账户,然后在这台需要发送的服务器上进行配置就可以了.服务器是centos6.8的系统.配置是在/etc/mail.rc这个文件中配置的.主要有以下几个配置项需要调整 [[email

spring+velocity+javamail发送模板邮件

有时候当我们注册完的时候系统会提示有一封邮件发送到了你的邮箱,如何做呢? 就要用到spring+velocity+javamail这3个玩意,其实只用了spring,因为其他2个都被spring集成了. 先看代码 package com.worthtech.app.util; import java.io.File; import java.util.Map; import javax.mail.MessagingException; import javax.mail.internet.Mim

C# 使用系统方法发送异步邮件

项目背景: 最近在对几年前的一个项目进行重构,发现发送邮件功能需要一定的时间来处理,而由于发送是同步的因此导致在发送邮件时无法执行后续的操作 实际上发送邮件后只需要将发送结果写入系统日志即可对其他业务没有任何影响,因此决定将发送邮件操作更改为异步的 由于使用的是C#的邮件类库,而C#本身已经提供了异步发送的功能即只需要将Send方法更改为SendAsync即可,更改方法名并不难但发送后再写入日志就有点难了 因为项目中发送邮件是单独的组件,所以我不可能在发送邮件类库中直接添加写入日志操作(不在同一

JavaMail(二):利用JavaMail发送复杂邮件

上一篇文章我们学习了利用JavaMail发送简单邮件,这篇文章我们利用JavaMail发送稍微复杂一点的邮件(包含文本.图片.附件).这里只贴出核心代码,其余代码可参考JavaMail(一):利用JavaMail发送简单邮件 封装发送邮件代码 /** * 封装发送邮件代码 * @author fly * @时间 2017-05-09 * */ public class Email { /** * 创建并发送一封包含文本.图片.附件的复杂邮件 * @throws Exception */ publ