网站建设资讯

NEWS

网站建设资讯

JAVA循环邮箱代码 java代码实现发送邮件

急java 发送邮件 急!~急!~ 高手快进来帮忙看看啊!~

这是我的连续发几封邮件的代码。连续发是为了163邮箱的积分,^_^。你可以参考下。

成都创新互联公司长期为上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为绥化企业提供专业的网站制作、成都网站建设绥化网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。

package com.test;

import java.io.*;

import java.util.*;

import javax.mail.*;

import javax.mail.internet.*;

public class SendEmail extends Authenticator {

public static final String mailuser = "xianlaioy"; // 需要你的邮箱帐号(仅@符号前面的)

public static final String password = "######"; // 需要你的邮箱密码

private Properties props;

public PasswordAuthentication getPasswordAuthentication() {

return new PasswordAuthentication(mailuser, password);

}

public SendEmail(){

props = new Properties();

InputStream is = null;

try {

/*当部署在web容器中时,路径要修改

* Thread.currentThread().getContextClassLoader().getResource("").getPath();

* 得到的url是web容器中的项目下的class路径

**/

is = new FileInputStream("src/sendemail.properties");

} catch (FileNotFoundException e) {

e.printStackTrace();

}

try {

props.load(is);

} catch (IOException e) {

e.printStackTrace();

}

}

/** email为接收邮箱,text为邮件正文

* @throws IOException */

public void sendEamils(String email, String text) throws IOException {

Transport transport = null;

try {

props.setProperty("mail.smtp.host", props.getProperty("mail.smtp.host"));

props.setProperty("mail.smtp.auth", props.getProperty("mail.smtp.auth"));

SendEmail auth = new SendEmail();

javax.mail.Session session = javax.mail.Session.getDefaultInstance(props,

auth);

MimeMessage message = new MimeMessage(session);

Address addressFrom = new InternetAddress(SendEmail.mailuser

+ "@163.com", "欧阳");

Address addressTo = new InternetAddress(email, "xianlai");

message.setText(text);

message.setSubject("邮件标题");

message.setFrom(addressFrom);

message.addRecipient(Message.RecipientType.TO, addressTo);

message.saveChanges();

transport = session.getTransport("smtp");

session.setDebug(true);

/*transport.connect("smtp.126.com", SendEmail.mailuser,

SendEmail.password);*/

transport.send(message);

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

} catch (NoSuchProviderException e) {

e.printStackTrace();

} catch (MessagingException e) {

e.printStackTrace();

} finally {

if (transport != null) {

try {

transport.close();

} catch (MessagingException e) {

e.printStackTrace();

}

}

}

}

public static void main(String[] args) {

Timer t = new Timer();

long delay =2*60*1000;

t.schedule(new TimerTask(){

private int count=0;

private SendEmail se=new SendEmail();//作为成员变量就只会创建一个SendEmail对象。

public void run() {

//在timer的run中就必须考虑好怎样或者什么时候退出的问题。

//这里是用count计数的方法来考虑退出的问题的。

if(count++1){

int i=10;

for (int j = 0; j i; j++) {

try {

se.sendEamils("xianlaioy@126.com","test"+j );

} catch (IOException e) {

e.printStackTrace();

}

}

}else {

this.cancel();

System.exit(0);

}

}}, 2000,delay);

}

}

以下是我编写的JAVA验证邮箱可用性的代码

for(int i=1;i=a.length();i++)

{

d=a.substring(i-1,i);

if(d.equals("@."))

{

return false;

}

}

这个循环判定完是有@.返回false不对的,用判定"@."是否存在好一些

if(!a.contains("@."))

{

return false;

}

用java写一个邮件发送代码

public boolean mainto()

{

boolean flag = true;

//建立邮件会话

Properties pro = new Properties();

pro.put("mail.smtp.host","smtp.qq.com");//存储发送邮件的服务器

pro.put("mail.smtp.auth","true"); //通过服务器验证

Session s =Session.getInstance(pro); //根据属性新建一个邮件会话

//s.setDebug(true);

//由邮件会话新建一个消息对象

MimeMessage message = new MimeMessage(s);

//设置邮件

InternetAddress fromAddr = null;

InternetAddress toAddr = null;

try

{

fromAddr = new InternetAddress(451144426+"@qq.com"); //邮件发送地址

message.setFrom(fromAddr); //设置发送地址

toAddr = new InternetAddress("12345367@qq.com"); //邮件接收地址

message.setRecipient(Message.RecipientType.TO, toAddr); //设置接收地址

message.setSubject(title); //设置邮件标题

message.setText(content); //设置邮件正文

message.setSentDate(new Date()); //设置邮件日期

message.saveChanges(); //保存邮件更改信息

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

transport.connect("smtp.qq.com", "451144426", "密码"); //服务器地址,邮箱账号,邮箱密码

transport.sendMessage(message, message.getAllRecipients()); //发送邮件

transport.close();//关闭

}

catch (Exception e)

{

e.printStackTrace();

flag = false;//发送失败

}

return flag;

}

这是一个javaMail的邮件发送代码,需要一个mail.jar

JAVA 如何实现群发邮件(1000封以上)

刚好我也在学习,网上找了些:

邮件群发:

收件人的地址设置为tomail+i的形式,利用For循环向这些地址发送邮件,以实现群发的目的。

利用Address类设置邮件信息的收件人和发件人信息,在创建了邮件地址类后,通过message的setFrom()方法设置邮件的发件人,代码如下:

message.setFrom(from_mail);

设置收件人地址时使用setRecipient()方法设置收信人地址,代码如下:

message.setRecipient(type,address);

参数type为收件人类型。可以使用以下3个常量来区分收件人的类型:

1)Message.RecipientType.TO--发送。

2)Message.RecipientType.CC--抄送。

3)Message.RecipientType.BCC--暗送。

实现过程:

%@ page import="java.io.*"%

%@ page import="java.util.*"%

%@ page import="javax.mail.*"%

%@ page import="javax.mail.internet.*"%

%@ page import="javax.activation.*"%

%

try{

int i = 1;

for(i=1;i4;i++){

request.setCharacterEncoding("gb2312");

String from = request.getParameter("from_mail");

String to = request.getParameter("tomail"+i);

String subject = request.getParameter("subject");

String messageText = request.getParameter("message");

String password = request.getParameter("password");

String S = request.getParameter("from_mail");

int n = S.indexOf('@');

int m = S.length();

String server = S.substring(n+1,m);

//建立邮件会话

Properties pro = new Properties();

pro.put("mail.smtp.host","smtp."+server);

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

Session sess = Session.getInstance(pro);

sess.setDebug(true);

MimeMessage message = new MimeMessage(sess);//新建一个消息对象

InternetAddress from_mail = new InternetAddress(from);//设置发件人

message.setFrom(from_mail);

//设置收件人

InternetAddress to = new InternetAddress(to);

message.setRecipient(Message.RecipientType.TO,to_mail);

message.setSubject(subject);//设置主题

message.setText(messageText);//设置内容

message.setSentDate(new Date());//设置发送时间

message.saveChanges();//保存邮件信息

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

transport.connect("smtp."+server,from,password);

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

transport.close();

if(i==3){

out.print("发送邮件成功");

}

}

}catch(Exception e){

out.print("发送邮件失败,原因可能是ul");

out.println(e.getMessage());

}

%

感谢网友:s214205

有Java大神吗? 比如说在while(true)循环中输入一个邮箱号,怎么设置如果输入的内容中缺

写一个boolean方法,遍历bailbox,若未发现@则返回false。然后在while循环中调用该方法。


名称栏目:JAVA循环邮箱代码 java代码实现发送邮件
标题路径:http://njwzjz.com/article/heheeh.html