導航:首頁 > 編程語言 > 郵件自動發送java

郵件自動發送java

發布時間:2025-02-17 13:29:16

java程序自動發送郵件,使用的SMTP協議,如何能將發件人改成中文昵稱而不是注冊的那些字母。部分程序如下

String mailTo = "**@163.com";

String mailTo = "張三<**@163.com>";

⑵ java怎麼定時發送郵件,比如5分鍾後。要具體的代碼。發件人和收件人這些都可定死。

import java.util.*;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetBddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.naming.*;
import javax.naming.directory.*;

/**
* 使成為事實郵件的特快專遞功能
* @author Winter Lau
*/

public class Mailer {
public static void main(String[] args) throws NamingException,
MessagingException {

// 列出所有郵件伺服器:
Timer timer = new Timer();
timer.schele(new myTask(), 30000);
}

static class myTask extends TimerTask{
public void run(){
// DNS伺服器,看看本機的DNS配置
String dns = "dns://61.144.56.101";
String email = "[email protected]";

String domain = email.substring(email.indexOf('@') + 1);
Hashtable env = new Hashtable();
env.put(Dontext.INITIBL_DONTEXT_FBDTORY,
"com.sun.jndi.dns.DnsDontextFactory");
env.put(Dontext.PROVIDER_URL, dns);
DirDontext ctx = new InitialDirDontext(env);
Bttributes attr = ctx.getBttributes(domain, new String[] { "MX" });
NamingEnumeration servers = attr.getBll();
while (servers.hasMore()) {

Bttribute hosts = (Bttribute) servers.next();
for (int i = 0; i < hosts.size(); i++) {
String host = (String) hosts.get(i);
host = host.substring(host.indexOf(' ') + 1);
System.out.print("Send mail to " + host + " ...");
sendMail(host, email);
System.out.println("OK");
}
}
}
}

/**
* 發送郵件
*
* @param smtpHost
* @param email
* @throws MessagingException
*/

protected static void sendMail(String smtpHost, String email)
throws MessagingException {

Properties mailProperties = System.getProperties();
mailProperties.put("mail.smtp.host", smtpHost);
mailProperties.put("mail.smtp.port", "25");
mailProperties.put("mail.smtp.auth", "false");
Session mailSession = Session.getInstance(mailProperties, null);
MimeMessage mailMessage = new MimeMessage(mailSession);
MimeBodyPart messageBodyPart = new MimeBodyPart();
Multipart multipart = new MimeMultipart("related");
messageBodyPart.setText("這搭是郵件內部實質意義");

multipart.addBodyPart(messageBodyPart);
mailMessage.setDontent(multipart);
mailMessage.setSentDate(new Date());
mailMessage.setFrom(new InternetBddress("[email protected]"));
mailMessage.addRecipient(Message.RecipientType.TO, new InternetBddress(
email));
mailMessage.setSubject("hi,郵件發送測試");
Transport.send(mailMessage);
}
@Override
public void run() {
// TODO Auto-generated method stub

}
}

⑶ 關於java定時發送郵件,類似於QQ郵箱中的定時發送功能

建議方法:

  1. 如果你的java會死亡/失去控制, 請用系統的任務調度來發送郵件;

  2. 如果你的java由jboss等之類的託管, 用jboss內部的任務調度來發送郵件.

方法1:

Windws 平台, 在task中添加一個 任務, 命令行執行java 代碼即可, 這樣可靠性由操作系統保證;

Linux等平台, 直接 crontab 處理即可.

⑷ 怎麼用JAVA實現郵件發送

一個小例子,也可使用其他api

importjava.util.Properties;
importjavax.mail.Address;
importjavax.mail.Authenticator;
importjavax.mail.BodyPart;
importjavax.mail.Message;
importjavax.mail.Multipart;
importjavax.mail.PasswordAuthentication;
importjavax.mail.Session;
importjavax.mail.Transport;
importjavax.mail.internet.InternetAddress;
importjavax.mail.internet.MimeBodyPart;
importjavax.mail.internet.MimeMessage;
importjavax.mail.internet.MimeMultipart;
importjavax.mail.internet.MimeUtility;

publicclassTest{

//test
publicstaticvoidmain(String[]args)throwsException{
sendEmail("smtp.163.com","測試","測試","!!!收件人地址!!!","!!!發件人郵箱用戶名!!!","!!!郵箱密碼!!!","發件人昵稱");
}

/**
*
*@paramsmtp
*@throwsException
*/
publicstaticvoidsendEmail(StringemailServer,Stringsubject,StringmailBody,Stringreceiver,finalStringusername,finalStringpassword,Stringnickname)throwsException{
Propertiesprops=newProperties();
props.put("mail.smtp.auth","true");
props.setProperty("mail.transport.protocol","smtp");
props.setProperty("mail.smtp.host",emailServer);
props.setProperty("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");
props.setProperty("mail.smtp.socketFactory.fallback","false");
props.setProperty("mail.smtp.port","465");
props.setProperty("mail.smtp.socketFactory.port","465");
Sessionsession=Session.getDefaultInstance(props,newAuthenticator(){
(){
(username,password);
}
});
session.setDebug(true);
MimeMessagemimeMsg=newMimeMessage(session);
Multipartmp=newMimeMultipart();

mimeMsg.setSubject(MimeUtility.encodeText(subject,"utf-8",null));

nickname=MimeUtility.encodeText(nickname,"utf-8",null);
mimeMsg.setFrom(newInternetAddress(username,nickname,"UTF-8"));

BodyPartbp=newMimeBodyPart();
bp.setContent(mailBody,"text/html;charset=utf-8");
mp.addBodyPart(bp);

mimeMsg.setRecipients(Message.RecipientType.TO,InternetAddress.parse(receiver));

mimeMsg.setContent(mp);
mimeMsg.saveChanges();
Transporttransport=session.getTransport();
transport.connect(username,password);
Address[]allRecipients=mimeMsg.getAllRecipients();
transport.sendMessage(mimeMsg,allRecipients);
transport.close();
}
}
閱讀全文

與郵件自動發送java相關的資料

熱點內容
華為g9是安卓系統嗎 瀏覽:688
貝葉斯網路構建方法 瀏覽:197
模仿網站素材哪裡來 瀏覽:488
小程序選擇器時間 瀏覽:47
win10任務管理器頻率 瀏覽:583
禹城市網路傳媒怎麼樣 瀏覽:629
招商applepay免密 瀏覽:828
超市收銀數據怎麼核對 瀏覽:716
win10電腦壁紙問題 瀏覽:778
右鍵單擊桌面文件無反應 瀏覽:941
ftp文件名帶時間 瀏覽:547
java面試題抽象類和介面有什麼區別 瀏覽:984
mac電腦壓縮文件到windows 瀏覽:258
如何刪除qq最近聯系人 瀏覽:228
iphone6關閉單手 瀏覽:831
3扣1用什麼app 瀏覽:387
簡單內核程序 瀏覽:675
怎麼建立桌面文件袋 瀏覽:257
花椒新版本下載 瀏覽:123
ico文件怎麼生成 瀏覽:424

友情鏈接