BOSS要求:
1.在本公司网页注册后要发送 激活邮件 到用户邮箱
2.当用户要求找回密码时要以发送邮件的方式把密码发到用户邮箱
这个应该可以用JAVAMAIL实现的,可现在公司没有邮件服务器,只有邮件转发器(有可能说的不专业,不过就是用来转发邮件的),现在请问各位大哥大姐们 对于这样的情况是不是还可以使用JAVAMAIL来解决?另外 如果说发送邮件方面由别人写一个CGI来完成 , 我只要调用这个接口,那么该如何调用?谢谢大家帮帮我,很急~~~~
1.在本公司网页注册后要发送 激活邮件 到用户邮箱
2.当用户要求找回密码时要以发送邮件的方式把密码发到用户邮箱
这个应该可以用JAVAMAIL实现的,可现在公司没有邮件服务器,只有邮件转发器(有可能说的不专业,不过就是用来转发邮件的),现在请问各位大哥大姐们 对于这样的情况是不是还可以使用JAVAMAIL来解决?另外 如果说发送邮件方面由别人写一个CGI来完成 , 我只要调用这个接口,那么该如何调用?谢谢大家帮帮我,很急~~~~
看这个对你有没有帮助
用下面的程序需要JMAIL相关包import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;public class SendMail{
private String sender = "[email protected]";//发件人地址
private String smtpHost = "smtp.163.com";//邮件发送服务器(smtp)
private String user = "username"; //登录用户名
private String password = "password";//登录密码 private String subject = "";//mail主题 public SendMail(){
this.setPropertiesAttri();
} private void setPropertiesAttri(){
try{
this.setSmtpHost(smtpHost);
this.setUser(user);
this.setPassword(password);
this.setSender(sender);
this.setSubject(subject);
}catch(Exception ex){
System.err.println("ex1 in sendmail.java:"+ex.toString());
}
}
/** 设置发件人地址 */
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){
if(mail == null||content==null){
return false;
}
try{
this.smtp(mail,content);
}catch(Exception ex){
System.err.println("ex2 in sendmail.java:"+ex.toString());
}
return true;
} public static void main (String[] args){
SendMail mail = new SendMail();
String email = "[email protected]";
String content = "账号:123 密码:123 <br/>";
try{
mail.sendMails(email,content);
}catch (Exception ex){
System.err.println("ex3:"+ex.toString());
}
}
}