A. java web發送郵件里包含動態超鏈接該怎麼實現
首先選中介面類型名字,右鍵菜單,如圖
這樣你就能輕松查看有哪些類實現該介面
該方法不僅僅適用介面,也可以查找某個類的子父級關系
B. javaweb怎麼實現郵件的群發功能
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
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;
import javax.mail.internet.MimeUtility;
/**
* Title: 使用javamail發送郵件 Description: 演示如何使用javamail包發送電子郵件。這個實例可發送多附件
*
* @version 1.0
*/
public class SendMail {
String to = "";// 收件人
String from = "";// 發件人
String host = "";// smtp主機
String username = "";
String password = "";
String filename = "";// 附件文件名
String subject = "";// 郵件主題
String content = "";// 郵件正文
@SuppressWarnings("rawtypes")
Vector file = new Vector();// 附件文件集合
/**
* <br>
* 方法說明:默認構造器 <br>
* 輸入參數: <br>
* 返回類型:
*/
public SendMail() {
}
/**
* <br>
* 方法說明:構造器,提供直接的參數傳入 <br>
* 輸入參數: <br>
* 返回類型:
*/
public SendMail(String to, String from, String smtpServer, String username,
String password, String subject, String content) {
this.to = to;
this.from = from;
this.host = smtpServer;
this.username = username;
this.password = password;
this.subject = subject;
this.content = content;
}
/**
* <br>
* 方法說明:設置郵件伺服器地址 <br>
* 輸入參數:String host 郵件伺服器地址名稱 <br>
* 返回類型:
*/
public void setHost(String host) {
this.host = host;
}
/**
* <br>
* 方法說明:設置登錄伺服器校驗密碼 <br>
* 輸入參數: <br>
* 返回類型:
*/
public void setPassWord(String pwd) {
this.password = pwd;
}
/**
* <br>
* 方法說明:設置登錄伺服器校驗用戶 <br>
* 輸入參數: <br>
* 返回類型:
*/
public void setUserName(String usn) {
this.username = usn;
}
/**
* <br>
* 方法說明:設置郵件發送目的郵箱 <br>
* 輸入參數: <br>
* 返回類型:
*/
public void setTo(String to) {
this.to = to;
}
/**
* <br>
* 方法說明:設置郵件發送源郵箱 <br>
* 輸入參數: <br>
* 返回類型:
*/
public void setFrom(String from) {
this.from = from;
}
/**
* <br>
* 方法說明:設置郵件主題 <br>
* 輸入參數: <br>
* 返回類型:
*/
public void setSubject(String subject) {
this.subject = subject;
}
/**
* <br>
* 方法說明:設置郵件內容 <br>
* 輸入參數: <br>
* 返回類型:
*/
public void setContent(String content) {
this.content = content;
}
/**
* <br>
* 方法說明:把主題轉換為中文 <br>
* 輸入參數:String strText <br>
* 返回類型:
*/
public String transferChinese(String strText) {
try {
strText = MimeUtility.encodeText(new String(strText.getBytes(),
"GB2312"), "GB2312", "B");
} catch (Exception e) {
e.printStackTrace();
}
return strText;
}
/**
* <br>
* 方法說明:往附件組合中添加附件 <br>
* 輸入參數: <br>
* 返回類型:
*/
@SuppressWarnings("unchecked")
public void attachfile(String fname) {
file.addElement(fname);
}
/**
* <br>
* 方法說明:發送郵件 <br>
* 輸入參數: <br>
* 返回類型:boolean 成功為true,反之為false
*/
@SuppressWarnings("rawtypes")
public boolean sendMail() {
// 構造mail session
Properties props = System.getProperties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props,
new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
try {
// 構造MimeMessage 並設定基本的值
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = { new InternetAddress(to) };
msg.setRecipients(Message.RecipientType.TO, address);
//subject = transferChinese(subject); ##修改過原來顯示成亂碼 注釋掉這行 騰訊企業郵箱顯示良好
msg.setSubject(subject);
// 構造Multipart
Multipart mp = new MimeMultipart();
// 向Multipart添加正文
MimeBodyPart mbpContent = new MimeBodyPart();
mbpContent.setText(content);
// 向MimeMessage添加(Multipart代表正文)
mp.addBodyPart(mbpContent);
// 向Multipart添加附件
Enumeration efile = file.elements();
while (efile.hasMoreElements()) {
MimeBodyPart mbpFile = new MimeBodyPart();
filename = efile.nextElement().toString();
FileDataSource fds = new FileDataSource(filename);
mbpFile.setDataHandler(new DataHandler(fds));
mbpFile.setFileName(fds.getName());
// 向MimeMessage添加(Multipart代表附件)
mp.addBodyPart(mbpFile);
}
file.removeAllElements();
// 向Multipart添加MimeMessage
msg.setContent(mp);
msg.setSentDate(new Date());
// 發送郵件
Transport.send(msg);
} catch (MessagingException mex) {
mex.printStackTrace();
Exception ex = null;
if ((ex = mex.getNextException()) != null) {
ex.printStackTrace();
}
return false;
}
return true;
}
/**
* <br>
* 方法說明:主方法,用於測試 <br>
* 輸入參數: <br>
* 返回類型:
*/
public static void main(String[] args) {
SendMail sendmail = new SendMail();
sendmail.setHost("smtp.exmail.qq.com");// smtp.mail.yahoo.com.cn
sendmail.setUserName("[email protected]");// 您的郵箱用戶名
sendmail.setPassWord("XXX");// 您的郵箱密碼
sendmail.setFrom("[email protected]");// 發送者
//這里可以從資料庫動態讀取要發送的郵箱,為了測試,先寫死
sendmail.setTo("[email protected]");// 接收者
sendmail.setSubject("測試群發郵件");
sendmail.setContent("這是群發郵件測試");
//sendmail.attachfile("d:/me.jpg");
sendmail.sendMail();
sendmail.setTo("[email protected]");// 接收者
sendmail.sendMail();
}
C. java web 項目 -- 如何在伺服器端主動發送信息到客戶端瀏覽器頁面,並在調用右下角彈出框中提示該信息。
關於請求,都是按照,客戶端->伺服器,然後伺服器在響應客服端。伺服器不會主動給客服端發請求。
對於你的想要的效果,如果是類似於即時通訊,你可以選擇 伺服器推送 技術,讓伺服器主動給客服端發送消息。 如果是用於郵件的更新,可以試試,輪循的方法,就是客服端設置自動刷新,隔一定的時間主動的去訪問伺服器。
然後在你的頁面,使用動態效果,去顯示提示,比如。設置一個div ,初始為hidden,設置position(具體哪個值,我忘了,你都找來試試嘛),然後,在寫個方法,當伺服器發來消息為你想要的時候,在設置div顯示
D. java怎麼連接exchange收發郵件
/**
serverName 接收郵件地址
user 用戶信息
pwd 密碼
path 郵件臨時儲存路徑
max 每次接收郵件的最大數量
**/
public int receive(String serverName, String user, String pwd, String path, int max) throws Exception {
//新建ExchangeVersion.Exchange2007_SP1版本的Exchange服務
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
String[] userInfo = user.split("/");
//用戶認證信息
ExchangeCredentials credentials = new WebCredentials(userInfo[1], pwd,userInfo[0]);
service.setCredentials(credentials);
//設置Exchange連接的伺服器地址
service.setUrl(new URI(serverName));
//綁定郵箱
Folder inbox = Folder.bind(service, WellKnownFolderName.Inbox);
//獲取郵箱文件數量
int count = inbox.getTotalCount();
if(max > 0) count = count > max ? max : count;
//循環獲取郵箱郵件
ItemView view = new ItemView(count);
FindItemsResults<Item> findResults = service.findItems(inbox.getId(), view);
for (Item item : findResults.getItems()) {
EmailMessage message = EmailMessage.bind(service, item.getId());
List<Attachment> attachs = message.getAttachments().getItems();
try{
if(message.getHasAttachments()){
for(Attachment f : attachs){
if(f instanceof FileAttachment){
//接收郵件到臨時目錄
File tempZip = new File(path,f.getName());
((FileAttachment)f).load(tempZip.getPath());
}
}
//刪除郵件
message.delete(DeleteMode.HardDelete);
}
}catch(Exception err){
log.equals(err);
}
}
return count;
}
E. java web 項目發送帶有超鏈接文本郵件問題
首先需要設置郵件內容的格式為:html
其次在內容中加上<a href='your url' 即可;
String html =
F. 監聽mysql存儲的時間,java web中怎樣自發郵件
java向MySQL插入當前時間的四種方式
第一種:將java.util.Date類型的時間轉成mysql資料庫識別的java.sql.Date類型時間
註:java.util.Date是java.sql.Date的父類
Date time= new java.sql.Date(newjava.util.Date().getTime());
第二種: java用PreparedStatement來setDate,用問號的形式給日期問號賦值
pstmt.setTimestamp(8, newTimestamp(System.currentTimeMillis()));
pstmt.setDate(1, new java.sql.Date(newDate().getTime()));