搜档网
当前位置:搜档网 › java发送邮件(群发单显)

java发送邮件(群发单显)

java发送邮件(群发单显)
java发送邮件(群发单显)

需要引入mail-1.4.jar

packagecom.mails.service;

importjava.io.PrintWriter;

importjava.io.UnsupportedEncodingException;

importjava.text.SimpleDateFormat;

importjava.util.Date;

importjava.util.Properties;

importjava.util.Vector;

importjavax.mail.Message;

importjavax.mail.Session;

importjavax.mail.Transport;

importjavax.mail.internet.InternetAddress;

importjavax.mail.internet.MimeBodyPart;

importjavax.mail.internet.MimeMessage;

importjavax.servlet.http.HttpServlet;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

/*********************************

*群发单显

* authorzhang

*2013-12-11

********************************/

public class SendMails extends HttpServlet{

public static final String mailAddress = "xxxxxxxxxx@https://www.sodocs.net/doc/7635802.html,";//你的邮箱

public static final String mailUsername = "xxxxxxxxxx@https://www.sodocs.net/doc/7635802.html,";//用户名你的邮箱的用户名

public static final String mailPassword = "axxxxxx";//邮箱密码

public static final String mailServer = "https://www.sodocs.net/doc/7635802.html,";

/**

*

*/

private static final long serialVersionUID = 3862187047161135701L;

public void doGet(HttpServletRequestreq,HttpServletResponse res){

this.process(req, res);

}

public void doPost(HttpServletRequestreq,HttpServletResponse res){

this.process(req, res);

}

/**

* 群发单显

* @paramreq

* @param res

*/

public void process(HttpServletRequestreq,HttpServletResponse res){ try {

req.setCharacterEncoding("utf-8");

String emails = req.getParameter("emails");

String title = req.getParameter("title");

String content = req.getParameter("content");

if(emails == null){

return ;

}

//aaaaaa@https://www.sodocs.net/doc/7635802.html,,aaaaaaaaaaaaa@https://www.sodocs.net/doc/7635802.html,

sends(mailAddress, emails, title,content);

res.setCharacterEncoding("gbk");

PrintWriter pw = res.getWriter();

pw.append("发送邮件成功!");

pw.close();

pw.flush();

} catch (Exception e) {

e.printStackTrace();

}

}

/**

* 群发单显

* @paramstr_from

* @paramstr_to

* @paramstr_title

* @paramstr_content

* @throws Exception

*/

public static void sends(String str_from, String str_to, String str_title, String str_content) throws Exception {

try {

Properties props = new Properties();

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

props.put("mail.smtp.auth", "true");

Session s = Session.getInstance(props, null);

s.setDebug(true);

MimeMessage message = new MimeMessage(s);

InternetAddress from = new InternetAddress(str_from);

message.setFrom(from); // 设置发件人的地址

// 设置收件人,并设置其接收类型为TO

//InternetAddress to = new InternetAddress(str_to);

String[] toStr = str_to.split(",");

InternetAddress [] tos = null;

if(toStr == null || toStr.length<= 0){

return ;

}

tos = new InternetAddress[toStr.length];

for (inti = 0; i

tos[i]= new InternetAddress(toStr[i]);//设置每一个接收邮件的地址}

message.setRecipients(Message.RecipientType.TO, tos);

// 设置标题

message.setSubject(str_title);

// 设置信件内容

// message.setText(str_content); //发送文本邮件,下面一行为发送html邮件

message.setContent(str_content, "text/html;charset=gbk");

// 设置发信时间

message.setSentDate(new Date());

// 存储邮件信息

message.saveChanges();

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

// 以smtp方式登录邮箱,第一个参数是发送邮件用的邮件服务器SMTP地址,第二个参数为用户名,第三个参数为密码

transport.connect(mailServer, mailUsername, mailPassword);

// 发送邮件,其中第二个参数是所有已设好的收件人地址

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

transport.close();

} catch (Exception e) {

throw e;

}

}

}

页面:

<%@page language="java"import="java.util.*"pageEncoding="utf-8"%>

<%

String path = request.getContextPath();

String basePath =

request.getScheme()+"://"+request.getServerName()+":"+request.getServ erPort()+path+"/";

%>

My JSP 'index.jsp' starting page

输入邮箱:多个邮箱以 "," 逗号隔开

邮件标题:

邮件内容

Web.xml

xmlns="https://www.sodocs.net/doc/7635802.html,/xml/ns/j2ee"

xmlns:xsi="https://www.sodocs.net/doc/7635802.html,/2001/XMLSchema-instance"

xsi:schemaLocation="https://www.sodocs.net/doc/7635802.html,/xml/ns/j2ee

https://www.sodocs.net/doc/7635802.html,/xml/ns/j2ee/web-app_2_4.xsd">

SendEmail

com.mails.service.SendMails

SendEmail

/SendEmail

index.jsp

JAVA简单邮件发送客户端程序设计

武汉长江工商学院 工学院 项目名称:简单邮件发送客户端 程序设计 学生姓名: 学号: 班级: 指导老师: 年月日

目录

.设计概述 电子邮件(,简称,标志:,也被大家昵称为“”)又称、电子邮政,它是—种用电子手段提供信息交换的通信方式。是应用最广的服务:通过网络的,用户可以用非常低廉的价格(不管发送到哪里,都只需负担电话费和网费即可),以非常快速的方式(几秒钟之内可以发送到世界上任何你指定的目的地),与世界上任何一个角落的网络用户联系,这些电子邮件可以是文字、图像、声音等各种方式。同时,用户可以得到大量免费的新闻、专题邮件,并实现轻松的信息搜索。 电子邮件的处理有两大部分组成:电子邮件在上发送和接收的原理可以很形象地用我们日常生活中邮寄包裹来形容:当我们要寄一个包裹时,我们首先要找到任何一个有这项业务的邮局,在填写完收件人姓名、地址等等之后包裹就寄出而到了收件人所在地的,那么对方取包裹的时候就必须去这个邮局才能取出。同样的,当我们发送电子邮件时,这封邮件是由邮件发送(任何一个都可以)发出,并根据收信人的地址判断对方的邮件接收服务器而将这封信发送到该服务器上,收信人要收取邮件也只能访问这个服务器才能完成。 本系统使用作为开发工具,开发一个电子邮件发送端应用程序。系统实现的功能主要有帐号设置,发送及添加附件,托盘程序等。 本例发送程序采取了与发送邮件服务器连接实现电子邮件的发送。用户在“收件人邮箱”所对应的对话框中输入收件人的地址,并在账号设置窗口所对的对话框中输入发信人的地址,设置好账号后,进入主对话框编辑信件的正文(本程序还可以发送附件,直接选择路径,就可以发送附件),然后单击“发送”按钮,便可完成电子邮件的发送。电子邮件发送成功,程序将弹出一个“发送成功”的消息对话框;若电子邮件发送失败,程序将给出失败的相关信息。 .电子邮件发送协议与技术 协议简介及通讯模型 (: )即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。它能够在传送中接力传送邮件,传送服务提供了进程间通信环境(),此环境可以包括一个网络,几个网络或一个网络的子网。理解到传送系统(或)不是一对一的是很重要的。进程可能直接和其它进程通过已知的通信。邮件是一个应用程序或进程间通信。邮件可以通过连接在不同上的进程跨网络进行邮件传送。更特别的是,邮件可以通过不同网络上的主机接力式传送。协议属于/协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过协议所指定的服务器,我们就可以把-寄到收信人的服务器上了,整个过程只要几分钟。服务器则是遵循协议的发送邮件服务器,用来发送或中转你发出的电子邮件。 是一种提供可靠且有效电子邮件传输的协议。是建模在文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知。 独立于特定的传输子系统,而且仅要求一条可以保证传送数据单元顺序的通道且只需要可靠有序的数据流信道支持。重要特性之一是其能跨越网络传输邮件,即“ 邮件中继”。通常,一个网络可以由公用互联网上可相互访问的主机、防火墙分隔的网络上可相互访问的主机,及其它中的主机利用非传输层协议组成。使用,可实现相同网络上处理机之间的邮件传输,也可通过中继器或网关实现某处理机与其它网络之间的邮件传输。 在这种方式下,邮件的发送可能经过从发送端到接收端路径上的大量中间中继器或网关主机。域名服务系统()的邮件交换服务器可以用来识别出传输邮件的下一跳地址。在传输文件过程中使用号端口。 可大致用下面的图来表示。

怎样填写群发邮件主题及内容

怎样填写群发邮件主题及内容? 群发邮件时,一定要注意邮件主题和邮件内容的字词书写,很多网站的邮件服务器为过滤垃圾邮件设置了常用垃圾字词过滤,如果邮件主题和邮件内容中包含有如:大量、宣传、钱等字词,服务器将会过滤掉该邮件,致使邮件不能发送成功。因此在书写邮件主题和内容时应尽量避开你心目中认为的有垃圾字词嫌疑的文字和词语,才能顺利群发出邮件。 如何选择使用DNS及SMTP服务器地址? 在使用免SMTP和搜索群发一体软件群发邮件时,必须正确输入可用主机DNS 名称。在使用单、多SMTP软件群发邮件时必须正确输入可用SMTP 服务器名称。否则将不能正常发送邮件。 由于各DNS主机或SMTP服务器性能不一,发送速度也有差异,群发前可多试几个DNS或用SMTP服务器猎人进行SMTP服务器速度检测,选择速度快的DNS和SMTP服务器将大大加快群发速度。 群发软件中的CC/BCC是什么? 群发软件中的BCC/CC功能,即群发一封邮件时可附带发送邮件的数量,此数值设置越大,群发速度将依设置数值成倍增加。如BCC 设置为5,群发时将以6封邮件为一组,每发送一封邮件时可捎带发送5 封邮件出去,群发速度将是不设置时的5倍。 该值在设置前最好用相关软件对待发送邮箱服务器进行探测(可用SMTP服务器猎人),像https://www.sodocs.net/doc/7635802.html,的BCC值为100、https://www.sodocs.net/doc/7635802.html,的BCC值为16。在不知道待发送邮箱的BCC 值时,一般可选择10为宜。 但选择BCC 发送时也存在一个弊端,即:如果每一组的第一封邮件发送失败,其余捎带发送的邮件也将不能发送出去。 什么是群发线程? 群发软件中的发送线程是指同时可并发邮件数,可以这样理解:当发送线程设置为100时,相当于用100 台电脑同时发送邮件。发送线程数越大,发送速度肯定就越快。 虽然很多群发软件可设置数百甚至上千个发送线程,但使用时必须根据你的上网带宽进行设置,如设置数过大,超过你的上网数据传输能力,电脑将会提示错误、蓝屏或死机。 一般情况下,56K 拨号上网一般不能超过20个发送线程,ISDN不能超过50个发送线程,AS DL根据分配带宽可设置为100 个甚至更多的发送线程。当然,要设置数量较多的线程发送邮件,除满足以上条件后,你的电脑配置还必需提高,要设置100 个以上的发送线程时,电脑配置至少应为P2以上。但也不能盲目加大发送线程,有的服务器会限制同一时间来自同一个IP地址的线程访问数量,如果超过服务器规定的线程数,即使连接到了服务器,但服务器也不会有响应,当然也不会发送出邮件。

java循环结构while基础入门

1 while循环的基本格式 /* while循环的基本格式: while(判断条件语句) { 循环体语句; } 扩展格式: 初始化语句; while(判断条件语句) { 循环体语句; 控制条件语句; } 通过这个格式,我们就可以看到其实和for循环是差不多的。 for(初始化语句;判断条件语句;控制条件语句) { 循环体语句; } */ class WhileDemo { public static void main(String[] args) { //输出10次"HelloWorld" //for语句版 for(int x=0; x<10; x++) {

System.out.println("HelloWorld"); } System.out.println("--------------"); //while语句版 int x=0; while(x<10) { System.out.println("HelloWorld"); x++; } } } 2 while循环的实现 /* 练习:用while循环实现 左边:求出1-100之和 右边:统计水仙花数有多少个 初始化语句; while(判断条件语句) { 循环体语句; 控制条件语句; } for(初始化语句;判断条件语句;控制条件语句) {

循环体语句; } */ class WhileDemo2 { public static void main(String[] args) { //求出1-100之和 //for语句版本 int sum = 0; for(int x=1; x<=100; x++) { sum+=x; } System.out.println("sum:"+sum); System.out.println("--------"); //while语句版本 int sum2 = 0; int y=1; while(y<=100) { sum2+=y; y++; } System.out.println("sum2:"+sum2); System.out.println("--------"); } }

Java——简单邮件发送客户端实现

这个程序主要就是实现一个简单的邮件客户端,在知道邮箱服务器pop3地址的情况下可以实现随意填写发信人地址给指定用户发邮件。代码如下: importjava.awt.*; importjava.awt.event.*; import java.io.*; import https://www.sodocs.net/doc/7635802.html,.*; importjavax.swing.*; importjavax.swing.border.BevelBorder; public class Mailclient extends JFrame { publicMailclient() { JPanel p = new JPanel();//create the GUI JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); JPanel p3 = new JPanel(); JPanel p4 = new JPanel(); JPanel p5 = new JPanel(); JButton Send = new JButton("Send");//three button JButton Clear = new JButton("Clear"); JButton Quit = new JButton("Quit"); String defult = "You can change the information or use the defult, and you can get the run information from Java Console."; //create the default mail text finalJTextArea messages = new JTextArea(defult, 22, 40); messages.setLineWrap(true);//auto line feed messages.setBorder(new BevelBorder(BevelBorder.LOWERED, Color.gray, Color.gray)); p1.add(new JLabel("From: ")); finalJTextField jtf1 = new JTextField("android_757@https://www.sodocs.net/doc/7635802.html,", 38); p1.add(jtf1); p2.add(new JLabel("To: ")); finalJTextField jtf2 = new JTextField("android_757@https://www.sodocs.net/doc/7635802.html,", 40); p2.add(jtf2); p3.add(new JLabel("Subject: ")); finalJTextField jtf3 = new JTextField("Test Mailclient", 37); p3.add(jtf3); p5.add(new JLabel("Mail Server Name: ")); finalJTextField jtf4 = new JTextField("https://www.sodocs.net/doc/7635802.html,", 32); p5.add(jtf4); p4.add(Send); Send.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e){

邮件群发工资条

一步步教你如何快速邮件分发工资条 又快到月底了,制作工资条是件非常麻烦的事,做财务都知道如果一个一个的分别发送邮件工资条到每个人邮箱的话是件很费时费力的事情,如果单单几个人还好,要是有几十号人,几百号人,那工作量是相当的可观。笔者也有感同深受,那是个非常枯燥又烦锁的工作。现在向大家推荐款比较实用的批量制作批量分发工资条的软件,那是相当的省时省力。是什么样的软件让笔者有这样的感慨了,听咱来把制作步骤慢慢道来。 首先,当然你有一份已经制作好的全公司的Excel格式工资总单,如下图:《xx公司员工工资总清单.xls》,如下图,第一行为标题行,用来说明每项数值名称,最重要的一点,每行都有一个与之对应的邮箱地址。 (图1) 接下来,咱就来介绍一下,如何让笔者认为省时省力的工具了,首选是一款名叫:GoGoMail 2010工具软件,这个软件你可以在百度搜索GoGoMail 2010就可以得到,该工具软件提供了多种实用助手,用于配合我们去将不同的Excel数据进行拆分,然后生成每个人的工资信息,它提供了2种不同的方式邮件格式, 一种是以邮件附件的方式 一种是以邮件正文方式

该软件的主界面: 现在我们先来介绍一下,以邮件附件的方式发送工资。 1.首先,我们点击GoGoMail主界面的Excel-工资条处理向导,会弹出Excel工资条处理向导对话框,如图 点击一下浏览(B)按钮,出现让你选择要处理的Excel文件,如图

选中,要处理的公司员工工资总清单的,出现以下对话框 接下来,我们点击一下,将出现以下对话框, 我们选择好我们相关条件后,点击完成,软件就开始自动进行分配

java循环练习及答案

循环练习 1、实现一个课程名称和课程代号的转换器:输入下表中的课程代号,输出课程的名称。用户可以循环进行输入,如果输入n就退出系统。(使用do-while循环实现) public class A2 { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); String ke=""; do { S ystem.out.println("请输入代码:"); k e=scanner.next(); i f(ke.equals("1")){ System.out.println("使用Java语言理解程序逻辑"); } i f(ke.equals("2")){ System.out.println("使用HTML语言开发商业站点"); } i f(ke.equals("3")){ System.out.println("使用SQL Server管理和查询数据"); } i f(ke.equals("4")){ System.out.println("使用C#开发数据库应用程序"); } i f(ke.equals("n")){ System.out.println("出错!"); break; } } while (true); } } 2、本金10000元存入银行,年利率是千分之三。每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少?(使用for循环实现)

class A3 { public static void main(String[] args) { double mon = 10000; for( int i = 0; i < 5; i++){ mon *= 1+0.003; } System.out.println("5年后,获得的本金是"+mon+"元"); } } 3、求整数1~100的累加值,但要求跳过所有个位为3的数。(使用for循环实现) public class A4 { public static void main(String[] args) { int i = 0,n=0; for (int a = 0; a < 10; a++) { for (int b = 0; b <= 9; b++) { if (b!=3) { i=a*10+b; n+=i; } } } n+=100; System.out.println(n); } } 4、输入一个正整数N,判断该数是不是质数,如果是质数输出“N是一个质数”,否则输出“N不是质数”。提示:质数的含义:除了1和它本身不能被任何数整除。(使用for循环实现) import java.util.Scanner; public class A5 { public static void main(String[] args) { int n,m=0; Scanner N=new Scanner(System.in); System.out.println("请输入要判断的数字:"); do{ n=N.nextInt(); for (int i = 2; i < n; i++) { if (n%i==0) { m=1; }

java发邮件(word2003)

今天做了一个java发送邮件的小例子,总结一下,愿意和大家交换意见。 相关内容:1、要有两个邮箱(一个发送邮件,一个接收邮件) 2、下载两个jar包(mail-1.4.1.jar,activation-1.1.1.jar) 3、编写一个发送邮件的类(SendMail) 原理:程序利用发送邮件的账号(这里是a123456@https://www.sodocs.net/doc/7635802.html,和密码999999)去登录邮箱服务器(这里是https://www.sodocs.net/doc/7635802.html,)。之后向另外一个邮箱(这里是123456@https://www.sodocs.net/doc/7635802.html,)发送一个邮件,邮件的标题和内容等可以在程序里面设定好 以下代码可以正确运行且发送邮件。注意修改两个邮箱地址 import java.util.Properties; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.Multipart; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; public class SendMail { private String host= "https://www.sodocs.net/doc/7635802.html,"; // smtp服务器 ,这里是网易126 邮箱服务器地址 private String user = "a123456"; // 用户名,即发送邮件邮箱 (a123456@https://www.sodocs.net/doc/7635802.html,)的名称 private String pwd= "999999"; // 密码,a123456@https://www.sodocs.net/doc/7635802.html, 在https://www.sodocs.net/doc/7635802.html, 的登录密码 private String from = "a123456@https://www.sodocs.net/doc/7635802.html,"; // 发件人地址 private String to = "123456@https://www.sodocs.net/doc/7635802.html,"; // 收件人地址 private String subject = "hello"; // 邮件标题 public void setAddress(String from, String to, String subject) { this.from = from; this.to = to; this.subject = subject; } /** *此方法可以不做修改,直接调用 *@param txt */ public void send(String txt) { Properties props = new Properties(); // 设置发送邮件的邮件服务器的属性(这里使用网易的smtp服务器)

基于Javamail的邮件收取类(可直接使用)

package com.neusoft.mail; import javax.mail.*; import java.io.*; import java.text.*; import java.util.*; import java.util.Enumeration; public class GetMail { String POP3Host=""; //POP3服?器 String mailServerPort="110";//POP3服?器端口号String user=""; //登?POP3服?器的?号 String password=""; //登?POP3服?器的密? boolean validate = true;//是否需要身??? Session session = null; Folder folder = null; Store store = null; //无参数的?造函数 public GetMail() {} public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getPOP3Host() { return POP3Host; } public void setPOP3Host(String host) { POP3Host = host;

} public String mailServerPort() { return mailServerPort; } public void mailServerPort(String mailServerPort) { this.mailServerPort = mailServerPort; } public String getUser() { return user; } public void setUser(String user) { https://www.sodocs.net/doc/7635802.html,er = user; } public boolean isValidate() { return validate; } public void setValidate(boolean validate) { this.validate = validate; } //?接?件服?器 public void connect() throws Exception{ //?建一个授????象 POP3Auth auth = new POP3Auth(); auth.setAccount(user,password); //取得一个Session?象 Properties prop=new Properties(); prop.put("mail.pop3.host",POP3Host); prop.put("mail.pop3.port", this.mailServerPort); prop.put("mail.pop3.auth", validate ? "true" : "false"); session = Session.getDefaultInstance(prop,auth); //取得一个Store?象

外贸邮件群发开发信的4点技巧

外贸邮件群发开发信的4点技巧 近期国外新冠病毒大爆发,很多国内的医疗器械企业纷纷开启海外市场。对于外贸企业来说,邮件群发推广是最有效的一种推广方式。但后来发现发给客户的很多外贸邮件被退了回来,原因是我的邮箱被列入了发送垃圾邮件的黑名单。这不是扎心吗!但是外贸企业在邮件推广的过程中遇到各种各样的问题,比如:外贸邮件开发信被大量拒收,邮箱被列入了垃圾邮件的黑名单等等,为了避免造成不必要的麻烦,下面U-Mail邮件营销平台就给大家介绍下外贸邮件群发推广的技巧和方法。 1、不要使用免费邮箱群发外贸邮件 虽然使用免费邮箱群发邮件成本低,但是一般免费的群发邮箱服务商为了防止用户群发邮件,对其邮箱账号的发送数量,发送频率都做了限制,如果发送数量超过一定限额,就会被运营商加入黑名单禁止发送。 推荐大家使用邮件群发工具去群发外贸邮件,比如:U-Mail邮件营销平台,无需下载安装,web登录即可进行邮件群发,而且到达率最高达到95%以上,保证你的每封邮件都进用户收件箱。平台按效果收费,发送不成功不计费,非常适合外贸企业进行邮件群发。 2、外贸邮件开发信的主题需个性化 在给国外客户群发外贸邮件时,可以在开发信标题中可以加入其名,增加用户的信任感,

认为这是一封专门发送给他的邮件,可以增加客户的好感度,提高邮件点击率。U-Mail邮件营销平台提供9种常规变量,15种自定义的变量,如收件人姓名、性别、生日等。满足客户个性化群发需求。 3、外贸邮件开发信的内容简洁至上 邮件广告不同于其他广告形式,邮件内容应该简洁至上,用最简单的文字或图片表达出你产品的特点和优势,让用户在第一时间找到他的关注点,如果用户感兴趣的话就会点击外贸邮件开发信里面的链接或回复你,否则,内容再多也get不到用户的需求点。U-Mail 邮件营销平台拥有大量精美的外贸邮件模板供用户免费使用,只需简单拖拽控件,就可制作出精美的外贸邮件开发信。 4、选择合适的发送时间 因为不同地域之间的时差是不一样的,比如在中国是白天,但是在美国确是晚上时间,所以外贸邮件的发送时间特别重要,要根据发送对象选择合适的时间发送。避免因为时差原因导致用户不能及时看到你的外贸邮件开发信。当然在U-Mail邮件群发平台可以自主设定邮件发送的时间, 无需企业营销人员值守群发。

Java循环结构习题

A,求1到100以内的素数.要求每10个数换一行。 1.public class SuShu{ 2.public static void main(String[] args) { //求1到100的素数,实际就是求2 到99的素数,要知道的知识点是除2以为,所有的偶数都是素数。 3.inti,y;//必须在for语句之前定义,可以不对变量赋值 4.int t=0; 5.for(i=2;i<=99;i++){ 6. for( y=2;y<=i;y++) 7. { if(i%y==0) 8. break; 9. } 10.if(y==i){ 11.System.out.print(" "+y); 12.t++; 13.} 14. if(t%10==0){ 15.System.out.println(); 16. } 17. 18. 19.} 20.} 21.} B,一个自然数是素数,且它的数字位置任意对换后形成的数仍未素数,这种数叫做绝对素数,例如13 和31。编写一个程序,显示100以内的所有绝对素数。 分析,由题意可以知道必须是两位数字,而且只能有1、3、7、9组合,个位为5的能被5整数,不是素数。 publicclass Demo{ publicstaticvoid main(String[] args) { for(int i=10;i<=100;i++) { if(isSushu(i)&&isSushu(conveter(i))) { System.out.print(i+" "); }

} } staticboolean isSushu(int i)//i是否为素数 { int j=2; //用2到i-1之间的任一整数去整除 for(;j

JAVA邮件发送

本文介绍了如何利用Java的网络API来实现一个电子邮件工具程序。通常Email工具都是使用SMTP(简单邮件传输协议,Simple Mail Transfer Protocol)来发送邮件,使用POP3协议来接受电子邮件。在本文中只对这两个协议作简单介绍。如果有兴趣的读者可以参考以下站点: POP3: ftp://https://www.sodocs.net/doc/7635802.html,/in-notes/rfc1939.txt SMTP: ftp://https://www.sodocs.net/doc/7635802.html,/in-notes/rfc2821.txt Java中虽然提供了JavaMail API,但是由于在这篇文章中我将从底层来探讨电子邮件软件是如何工作的,因此不会使用JavaMail API。本文中的例子是在J2SE 1.4下开发的。 电子邮件的格式 在开发Email软件之前,你需要了解电子邮件的格式。根据RFC 2882(https://www.sodocs.net/doc/7635802.html,/rfcs/rfc2822.html)的规定,电子邮件由很多行组成,每行由〈CRLF〉(ASCII代码13和ASCII代码10)结束。每行的最大长度为998个字符。其中有些行提供了收发电子邮件所必需的信息,这些行被称为头(Header),所有的头构成了头域(Header Field)。其他的行用于保存邮件的具体内容。 头域提供了很多信息,其中包括邮件的来源;邮件的目的地和邮件的主题等。每个头由名称和冒号加上相应的值构成。例如From:、Send:和Reply-To:中记录了邮件的来源。在From:中记录的是邮件的作者;在Sender:中指定了发送邮件的代理(可以是邮件地址,也可以是机器名称);Reply-To:中指定了接受回信的邮箱地址。 一封邮件可能有多个作者,因此From:中可以指定一个或多个邮箱地址。下面给出了一个个From:的例子: From: Ray Feng 〈rayfeng@https://www.sodocs.net/doc/7635802.html,〉, bogus@https://www.sodocs.net/doc/7635802.html, 在一封电子邮件中只能有一个Sender。因此Sender:的值只能包含一个邮箱地址。如果在From:中只有一个作者,而且Sender:的值和From:的值相同,则Sender:就不会出现在电子邮件中,否则会出现信息冗余;反之Sender:则应该出现在邮件中。下面是一个Sender:的例子: Sender: Ray Feng rayfeng@https://www.sodocs.net/doc/7635802.html, 在电子邮件中可以指定将回信发送到多个邮箱地址中。因此Reply-To:中可以包含一个或多个邮箱地址,每个地址之间用逗号隔开。如果邮件中有Reply-To:,回信会被发送到罗列在

Java发送邮件(文本和附件)

Java发送邮件(文本和附件) Author:zxw Time:2015-05-07 一、Java发送邮件:文件 package com; import java.io.IOException; import java.io.InputStream; import java.util.Properties; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeUtility; /** * Java发送文件信息 *

*实现java发送邮件的过程大体有以下几步: *准备一个properties文件,该文件中存放SMTP服务器地址等参数。 *利用properties创建一个Session对象 *利用Session创建Message对象,然后设置邮件主题和正文 *利用Transport对象发送邮件 *需要的jar有2个:activation.jar和mail.jar * */ public class JavaMailWithText { /** * Message对象将存储我们实际发送的电子邮件信息, * Message对象被作为一个MimeMessage对象来创建并且需要知道应当选择哪一个JavaMail session。 */ private MimeMessage message; /** * Session类代表JavaMail中的一个邮件会话。 * 每一个基于JavaMail的应用程序至少有一个Session (可以有任意多的Session)。

一步步教你如何快速邮件群发分发工资条

一步步教你如何快速邮件群发分发工资条 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

一步步教你如何快速邮件分发工资条 又快到月底了,制作工资条是件非常麻烦的事,做财务都知道如果一个一个的分别发送邮件工资条到每个人邮箱的话是件很费时费力的事情,如果单单几个人还好,要是有几十号人,几百号人,那工作量是相当的可观。笔者也有感同深受,那是个非常枯燥又烦锁的工作。现在向大家推荐款比较实用的批量制作批量分发工资条的软件,那是相当的省时省力。是什么样的软件让笔者有这样的感慨了,听咱来把制作步骤慢慢道来。 首先,当然你有一份已经制作好的全公司的Excel格式工资总单,如下图:《xx公司员工工资总清单.xls》,如下图,第一行为标题行,用来说明每项数值名称,最重要的一点,每行都有一个与之对应的邮箱地址。 (图1) 接下来,咱就来介绍一下,如何让笔者认为省时省力的工具了,首选是一款名叫:GoGoMail 2010工具软件,这个软件你可以在百度搜索GoGoMail 2010就可以得到,该工具软件提供了多种实用助手,用于配合我们去将不同的Excel数据进行拆分,然后生成每个人的工资信息,它提供了2种不同的方式邮件格式, 一种是以邮件附件的方式

一种是以邮件正文方式 该软件的主界面: 现在我们先来介绍一下,以邮件附件的方式发送工资。

1.首先,我们点击 GoGoMail主界面的Excel-工资条处理向导,会弹出 Excel工资条处理向导对话框,如图 点击一下浏览(B)按钮,出现让你选择要处理的Excel文件,如图 选中,要处理的公司员工工资总清单的,出现以下对话框

java编写SMTP邮件服务器

11.1 电子邮件系统工作原理 电子邮件是因特网上最为流行的应用之一,它主要包括如下组成部分:用户代理、邮件服务器、简单邮件传输协议(simple Mail Transfer Protocol,简称SMTP)、邮件消息格式、邮件访问协议。图11.1展示了因特网电子邮件系统的概貌。在下文对电子邮件系统各组成部分的说明中,以发信人A1ice给收信人Bob发送电子邮件消息作为例子。 图11.1 因特网电子邮件系统概貌 1.用户代理 用户代理提供用户阅读、保存、回复、转发、编写、发送和删除邮件消息等功能。Alice写完电子邮件消息后,其用户代理把这个消息发送给Alice邮箱所在的邮件服务器,再由该邮件服务器把这个消息放入外出消息队列中并负责发送到Bob邮箱所在的邮件服务器。当Bob想阅读电子邮件消息时,其用户代理将从其邮件服务器上的邮箱中取得邮件。20世纪90年代后期,图形用户界面(GUI)的电子邮件用户代理变得流行起来,允许用户阅读和编写多媒体消息。当前流行的用户代理包括Outlook、Foxmail等。 2.邮件服务器 邮件服务器构成了电子邮件系统的核心。每个收信人都有一个位于某个邮件服务器上的邮箱(mailbox)。Bob的邮箱用于管理和维护已经发送给他的邮件消息。一个邮件消息的典型流程是从发信人的用户代理开始,经发信人邮箱所在的邮件服务器,中转到收信人邮箱所在的邮件服务器,然后投递到收信人的邮箱中。当Bob想查看自己的邮箱中的邮件消息时,其邮箱所在的邮件服务器将以他提供的用户名和口令认证他。Alice邮箱所在邮件服务器还必须处理Bob邮箱所在邮件服务器出故障的情况。如果Alice方的邮件服务器无法把邮件消息立即递送到Bob方的邮件服务器,则A1ice方的服务器就把它们存放在消息队列(message queue)中,以后再尝试递送。这种尝试通常每30分钟左右执行一次:要是过了若干天仍未尝试成功,该服务器就把这个消息从消息队列中删除,同时以另一个邮件消息通知发信人(即Alice)。 3.简单邮件传输协议SMTP

Java发送邮件

Java 发送 使用Java应用程序发送E-mail十分简单,但是首先你应该在你的机器上安装JavaMail API 和Java Activation Framework (JAF) 。 ?您可以从Java 下载最新版本的JavaMail,打开网页右侧有个Downloads,点击它下载。?您可以从Java 下载最新版本的JAF(版本1.1.1)。 你也可以使用本站提供的下载: ?JavaMail mail.jar 1.4.5 ? ?JAF(版本1.1.1)activation.jar ? 下载并解压缩这些文件,在新创建的顶层目录中,您会发现这两个应用程序的一些jar 文件。您需要把mail.jar和activation.jar文件添加到您的CLASSPATH 中。 如果你使用第三方服务器如QQ的SMTP服务器,可查看文章底部用户认证完整的实例。 发送一封简单的E-mail 下面是一个发送简单E-mail的例子。假设你的localhost已经连接到网络。

// 收件人电子 String to = "abcdgmail."; // 发件人电子 String from = "webgmail."; // 指定发送的主机为localhost String host = "localhost"; // 获取系统属性 Properties properties = System.getProperties(); // 设置服务器 properties.setProperty("mail.smtp.host", host); // 获取默认session对象 Session session = Session.getDefaultInstance(properties); try{ // 创建默认的MimeMessage 对象 MimeMessage message = new MimeMessage(session); // Set From: 头部头字段 message.setFrom(new InternetAddress(from)); // Set To: 头部头字段

巧用EXCEL群发邮件

前一段时间由于需要给几百个用户发送初始化用户名和密码的邮件,每人的用户名和密码都不相同,不能通过群发邮件的方式。对于研发人员来说,写一个邮件发送工具并不是很困难,但是也需要一定的时间。 下面是我参照网上经验实际试过,效果不错,利用VBA简单编程,excel 配合outlook批量发送邮件,比较灵活,大家可以看看。 第一步:邮箱设置 配置好Microsoft outlook邮件客户端,确保能正常收发邮件,具体的本文不再详述; 第二步:建立Excel文档 1、为保证后面的“邮件群发”宏代码正确运行,需要执行“工具→宏→Visual Basic 编辑器”,将“工具→引用→Micr oseft Outlook*.0 Object Library(其中*为Microseft Outlook的版本号)选上”。 2、建立含不同邮件地址、主题、内容及附件的Excel文档,其中附件用插入超链接的方法完成。 第三步:编辑“邮件群发”宏 执行“工具→宏→Visual Basic编辑器”,单击“插入→模块”插入一个模块,在“工程”窗口中双击插入的模块,打开它的代码窗口,并在输入以下代码后关闭代码窗口。 代码示例 Sub sendmail() '要能正确发送并需要对Microseft Outlook进行有效配置 On Error Resume Next Dim rowCount, endRowNo Dim objOutlook As New Outlook.Application Dim objMail As MailItem

'取得当前工作表与Cells(1,1)相连的数据区行数 endRowNo = Cells(1, 1).CurrentRegion.Rows.Count '创建 objOutlook为Outlook应用程序对象 Set objOutlook = New Outlook.Application '开始循环发送电子邮件,比如从第二行开始,第一行是标题 For rowCount = 2 To endRowNo '创建objMail为一个邮件对象 Set objMail = objOutlook.CreateItem(olMailItem) With objMail '设置收件人地址(比如从 Excel 表的第一列“E-mail地址”字段中获得) .To = Cells(rowCount, 1).Value '"fantasia@https://www.sodocs.net/doc/7635802.html," '设置邮件主题(比如从Excel 表的第二列“邮件主题”字段中获得) .Subject = Cells(rowCount, 2).Value '"邮件主题" '设置邮件内容(比如从Excel 表的第三列“邮件内容”字段中获得) .Body = Cells(rowCount, 5).Value '"邮件内容" '设置附件(比如从Excel 表的第四列“附件”字段中获得) .Attachments.Add Cells(rowCount, 4).Value '"c:\\users.ctl" .Send End With

基于Javamail的邮件收发系统-使用说明

基于Javamail的邮件收发系统使用说明书 基于Javamail的邮件收发系统是一款简单、方便、快捷的邮件系统。它能实现邮件的接收与发送,并能完成附件的传输,具有较好的人机交互性,易于使用。 开发环境:JDK1.6 + Windows平台 开发技术:Javamail 开发工具:Eclipse3.4 运行环境:PC上需安装JDK1.6,且正确配置环境变量。 系统基本功能如下: (1) 收取并显示POP3邮件服务器上指定邮箱的邮件; (2) 使用SMTP邮件服务器发送邮件; (3) 邮件附件的发送与接受; (4) 删除邮件; 具体操作步骤如下: 1、打开javamailsystem文件夹,找到javamail.jar可执行文件,双击该执行文件,即可打开 Javamail邮件收发系统客户端软件。进入该系统后,首先选择“POP3/SMTP设置”按钮,对收发邮件所需的邮件服务器主机、收发邮件账号及密码信息进行设置。 图1-1邮件客户端主界面 设置举例如下:

POP3属性 POP3服务器:https://www.sodocs.net/doc/7635802.html,(或https://www.sodocs.net/doc/7635802.html,或https://www.sodocs.net/doc/7635802.html,) Email地址:shinning191@https://www.sodocs.net/doc/7635802.html,(ceshi2009ok@https://www.sodocs.net/doc/7635802.html,、qiufeng006@https://www.sodocs.net/doc/7635802.html,) 账户名:shinning191(ceshi2009ok、qiufeng006) 密码:6857191(123456、28912786) SMTP属性 SMTP服务器:https://www.sodocs.net/doc/7635802.html,(或https://www.sodocs.net/doc/7635802.html,或https://www.sodocs.net/doc/7635802.html,) Email地址:shinning191@https://www.sodocs.net/doc/7635802.html,(ceshi2009ok@https://www.sodocs.net/doc/7635802.html,\qiufeng006@https://www.sodocs.net/doc/7635802.html,) 账户名:shinning191(ceshi2009ok、qiufeng006) 密码:6857191(123456、28912786) 在对SMTP/POP3进行设置的时候,由于系统的缺陷,需要先对POP3进行属性设置,然后确定关闭该对话框;重新打开属性设置对话框,对SMTP进行属性设置,确定。这样便可以正确设置完邮件服务器的属性。 此系统对上述设置的信息具有存储功能,在这里,我们采用属性文件的形式存储SMT P 和POP3邮件服务器属性设置。相关属性值分别保存在pop3.properties和smtp.properties文

相关主题