當前位置:編程學習大全網 - 源碼下載 - 用java完成郵件發送的詳細步驟?代碼有更好。。。需不需要構建自己電腦上的服務器啊?

用java完成郵件發送的詳細步驟?代碼有更好。。。需不需要構建自己電腦上的服務器啊?

小公司用javamail就行了 大公司看妳的操作系統 要是Linux的話推薦用postfix Windows的話推薦用exchange。

附上exchange源碼要使用的話需要加包

import java.io.UnsupportedEncodingException;

import java.util.Date;

import java.util.Properties;

import javax.mail.BodyPart;

import javax.mail.Message;

import javax.mail.MessagingException;

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 Mailer {

private String host;

private String auth;

private String username;

private String domainUser;

private String password;

public boolean send(String[] to, String[] cc, String[] bcc, String subject, String content) throws MessagingException {

Properties props = new Properties();

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

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

Session s = Session.getInstance(props);

//s.setDebug(true);

MimeMessage message = new MimeMessage(s);

InternetAddress from = new InternetAddress(username);

message.setFrom(from);

//e.printStackTrace();

//message.setFrom(from);

InternetAddress[] Toaddress = new InternetAddress[to.length];

for (int i = 0; i < to.length; i++)

Toaddress[i] = new InternetAddress(to[i]);

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

if (cc != null) {

InternetAddress[] Ccaddress = new InternetAddress[cc.length];

for (int i = 0; i < cc.length; i++)

Ccaddress[i] = new InternetAddress(cc[i]);

message.setRecipients(Message.RecipientType.CC, Ccaddress);

}

if (bcc != null) {

InternetAddress[] Bccaddress = new InternetAddress[bcc.length];

for (int i = 0; i < bcc.length; i++)

Bccaddress[i] = new InternetAddress(bcc[i]);

message.setRecipients(Message.RecipientType.BCC, Bccaddress);

}

message.setSubject(subject);

message.setSentDate(new Date());

BodyPart mdp = new MimeBodyPart();

mdp.setContent(content, "text/html;charset=utf-8");

Multipart mm = new MimeMultipart();

mm.addBodyPart(mdp);

message.setContent(mm);

message.saveChanges();

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

transport.connect(host, (null == domainUser) ? username : domainUser, password);

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

transport.close();

return true;

}

public Mailer(String host, String auth, String domainUser, String username, String password) {

super();

this.host = host;

this.auth = auth;

this.domainUser = domainUser;

this.username = username;

this.password = password;

}

public static void main(String[]args){

try {

new Mailer("妳的ip", "true", "域名\\域用戶", "郵件", "密碼").send(new String[] { "281683400@qq.com" }, null, null, "demo_title", "<h3>test</h3>");

} catch (MessagingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

  • 上一篇:《初級會計實務》核心考點:輔助生產費用的分配方法、制造費用的分配方法
  • 下一篇:2020新浪博客最傷感的語句
  • copyright 2024編程學習大全網