关于发送邮件的问题!!(在线等!)
大家好!我想做一个 类似 可以定时给用户发送邮件信息的东西!但是从来没做过也没有什么思路!
已知:用户email地址。 但是怎么群发????
谢谢! 希望我的问题大家明白!
[解决办法]
用java mail 就行啊,写一个发送一个邮件的方法,然后将你要发送的地址依次传入一个string 组 ,在一个循环不就搞定了
[解决办法]
同意楼上,循环发送
[解决办法]
看看quartz
[解决办法]
邮件服务器都没有安装配置,你怎么发邮件,纯粹用java mail 是不行的
[解决办法]
import javax.mail.*;
import java.util.*;
import javax.mail.internet.*;
/**
* <p> Title: 简易MailBean </p>
* <p> Description: 提供简便的Mail发送功能(/p>
* <p> Copyright: Copyright (c) 2003 </p>
* @version 1.0
*/
class ExtendStrings {
public ExtendStrings() {
}
/**
去掉字符串两端的空白字符,并将字符串转化为中国的标准字符gb2312的字符串.
*/
public String CS(String str) { //去掉字符串2端的空白字符
try {
if (str == null)
return " ";
str = str.trim();
if (str == null)
return " ";
str = new String(str.getBytes( "8859_1 "), "GBK ");
} catch (Exception e) {
System.out.println(e);
}
return str;
}
}
public class Mail {
private String errMsg = " ";
private ExtendStrings ExStr = new ExtendStrings();
private String sender = "ydzj@jadite.cn "; //发件人地址
private String smtpHost = "10.110.252.23 "; //邮件发送服务器(smtp)10.110.252.23
private String user = "ydzj@jadite.cn "; //登录用户名
private String password = "******* "; //登录密码
private String subject = "移动总机的问题及建议(用户反馈) "; //mail主题
/** 设置发件人地址 */
public void setSender(String sender) {
this.sender = sender;
}
public String getSender() {
return sender;
}
/** 设置邮件发送服务器(smtp) */
public void setSmtpHost(String smtpHost) {
this.smtpHost = smtpHost;
}
public String getSmtpHost() {
return smtpHost;
}
/** 设置登录用户名 */
public void setUser(String user) {
this.user = user;
}
public String getUser() {
return user;
}
/** 设置登录密码 */
public void setPassword(String password) {
this.password = password;
}
public String getPassword() {
return password;
}
/** 设置mail主题 */
public void setSubject(String subject) {
this.subject = subject;
}
public String getSubject() {
return subject;
}
/**
* 使用smtp发送邮件 主程序
* @throws MessagingException mail发送失败
*/
public void smtp(String receiver, String content) throws MessagingException {
if (smtpHost == null)throw new MessagingException( "smtpHost not found ");
if (user == null)throw new MessagingException( "user not found ");
if (password == null)throw new MessagingException( "password not found ");
Properties properties = new Properties();
properties.put( "mail.smtp.host ", smtpHost); //设置smtp主机
properties.put( "mail.smtp.auth ", "true "); //使用smtp身份验证
Session session = Session.getDefaultInstance(properties,
new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(user, password);
}
});
//获得邮件会话对象
MimeMessage mimeMsg = new MimeMessage(session); //创建MIME邮件对象
if (sender != null) { //设置发件人地址
mimeMsg.setFrom(new InternetAddress(sender));
}
if (receiver != null) { //设置收件人地址
mimeMsg.setRecipients(Message.RecipientType.TO, parse(receiver));
}
if (subject != null) { //设置邮件主题
mimeMsg.setSubject(subject, "GBK ");
}
MimeBodyPart part = new MimeBodyPart(); //mail内容部分
part.setText(content == null ? " " : content, "GBK ");
//设置邮件格式为html cqc
//part.setContent(content.toString(), "text/html;charset=GBK ");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(part); //在 Multipart 中增加mail内容部分
mimeMsg.setContent(multipart); //增加 Multipart 到信息体
mimeMsg.setSentDate(new Date()); //设置发送日期
Transport.send(mimeMsg); //发送邮件
}
/** 解析地址集合字符串 */
private InternetAddress[] parse(String addressSet) throws AddressException {
ArrayList list = new ArrayList();
StringTokenizer tokens = new StringTokenizer(addressSet, ", ");
while (tokens.hasMoreTokens()) {
list.add(new InternetAddress(tokens.nextToken().trim()));
}
InternetAddress[] addressArray = new InternetAddress[list.size()];
list.toArray(addressArray);
return addressArray;
}
//供外部调用的接口
public boolean sendMails(String mail, String content) {
int mailLen = 0;
int contentLen = 0;
if (mail == null || content == null) {
return false;
}
try {
this.smtp(mail, content);
} catch (Exception ex) {
System.err.println( "ex in sendmail.java: " + ex.toString());
}
return true;
}
public static void main(String aa[]){
Mail m=new Mail();
String aa111111= "111111111111111 ";
String bbbb= "ydzj@jadite.cn ";
try {
m.smtp(bbbb,aa111111);
} catch (MessagingException ex) {
System.out.print(ex);
}
}
}
[解决办法]
谢谢楼主,我已经加入到我的网摘里去了!随时准备学习、