成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

Java實(shí)戰(zhàn)之基于swing的QQ郵件收發(fā)功能實(shí)現(xiàn)

瀏覽:187日期:2022-05-22 17:31:04
一、電子郵件詳解 假設(shè)自己的電子郵件是me@163.com,對(duì)方的郵件是you@163.com

我們編寫好文件填寫好對(duì)方文件,點(diǎn)擊發(fā)送,這些電子郵件就發(fā)出去了

而這些電子郵件被稱為MUA:Mail User Agent——郵件用戶代理。

Email發(fā)送出去的時(shí)候,不是直接到達(dá)對(duì)方的電腦,而是先發(fā)送到MTA:Mail Transfer Agent——郵件傳輸代理。如:網(wǎng)易 Email到達(dá)MTA后,MTA會(huì)把Emain投遞到郵件的最終目的MDA:Mail Delivery Agent——郵件投遞代理。如何存放在某個(gè)服務(wù)器上,我們將這個(gè)長期保存的地方叫做電子郵件郵箱。

Email不會(huì)直接到達(dá)對(duì)方的電腦,因?yàn)殡娔X不一定開機(jī),開機(jī)不一定對(duì)方要取郵件,必須通過MUA從MDA把郵件取到自己的電腦上面。

有了上述概念,編寫程序來收發(fā)和接受文件,本質(zhì)上就是:

1.編寫MUA把郵件發(fā)送到MTA

2.編寫MUA從MDA上收郵件

發(fā)郵件時(shí),MUA和MTA使用的協(xié)議就是SMTP:Simple Mail Transfer Protocol,后面的MTA到另一個(gè)MTA也是用SMTP協(xié)議。

收郵件的時(shí)候,MUA和MDA使用的協(xié)議有兩種:POP:Post Office Protocol,即POP3;IMAP:Internet Message Access Protocol

二、郵件發(fā)送

import com.sun.mail.util.MailSSLSocketFactory;import javax.swing.*;import javax.mail.*;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Properties;/** * 郵件發(fā)送 * * @author ltl */public class SendEmailManger extends Thread { private String mailAdr;//郵箱 private String content;//郵件的內(nèi)容 private String subject;//郵件的題目 public SendEmailManger(String mailAdr, String subject, String content) {super();this.mailAdr = mailAdr;this.subject = subject;this.content = content; } @Override public void run() {super.run();try { sendMail(mailAdr, subject, content);} catch (Exception e) { e.printStackTrace();} } private void sendMail(String mailAdr, String subject, String content) throws Exception {//加密的郵件套接字協(xié)議工廠MailSSLSocketFactory sf = new MailSSLSocketFactory();sf.setTrustAllHosts(true);final Properties props = new Properties();// 表示SMTP發(fā)送郵件,需要進(jìn)行身份驗(yàn)證props.put('mail.transport.protocol', 'smtp');props.put('mail.smtp.auth', 'true');props.put('mail.smtp.host', 'smtp.qq.com');// smtp登陸的賬號(hào)、密碼 ;需開啟smtp登陸props.setProperty('mail.debug', 'true');props.put('mail.user', '此處寫你的qq郵箱');props.put('mail.password', '此處寫你的QQ授權(quán)碼');// 特別需要注意,要將ssl協(xié)議設(shè)置為true,否則會(huì)報(bào)530錯(cuò)誤props.put('mail.smtp.ssl.enable', 'true');props.put('mail.smtp.ssl.socketFactory', sf);Authenticator authenticator = new Authenticator() { protected PasswordAuthentication getPasswordAuthentication() {// 用戶名、密碼String userName = props.getProperty('mail.user');String password = props.getProperty('mail.password');return new PasswordAuthentication(userName, password); }};// 使用環(huán)境屬性和授權(quán)信息,創(chuàng)建郵件會(huì)話Session mailSession = Session.getInstance(props, authenticator);// 創(chuàng)建郵件消息MimeMessage message = new MimeMessage(mailSession);// 設(shè)置發(fā)件人try { InternetAddress form = new InternetAddress(props.getProperty('mail.user')); message.setFrom(form); // 設(shè)置收件人 InternetAddress to = new InternetAddress(mailAdr); message.setRecipient(Message.RecipientType.TO, to); // 設(shè)置郵件標(biāo)題 message.setSubject(subject); // 設(shè)置郵件的內(nèi)容體 message.setContent(content, 'text/html;charset=UTF-8'); // 發(fā)送郵件 Transport.send(message);} catch (MessagingException e) { e.printStackTrace();} } public static void main(String[] args) {// 1. 創(chuàng)建一個(gè)頂層容器(窗口)JFrame jf = new JFrame('發(fā)送郵件');jf.setSize(500, 500);jf.setLocationRelativeTo(null);jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);// 2. 創(chuàng)建中間容器(面板容器)JPanel panel = new JPanel(null);// 3. 創(chuàng)建一個(gè)基本組件(按鈕),并添加到 面板容器 中JLabel jla1 = new JLabel('收件郵箱: ');jla1.setLocation(50,50);jla1.setSize(100, 50);jla1.setFont(new Font('123', 5, 20)); final JTextField textField = new JTextField(8);textField.setFont(new Font('mailAdr', Font.PLAIN, 20));textField.setLocation(150,50);textField.setSize(250, 50);JLabel jla2 = new JLabel('郵件標(biāo)題: ');jla2.setLocation(50,150);jla2.setSize(100, 50);jla2.setFont(new Font('123', 5, 20));final JTextField textField1 = new JTextField(8);textField1.setFont(new Font('subject', Font.PLAIN, 20));textField1.setLocation(150,150);textField1.setSize(250, 50);JLabel jla3 = new JLabel('郵件內(nèi)容: ');jla3.setLocation(50,250);jla3.setSize(100, 50);jla3.setFont(new Font('123', 5, 20));final JTextField textField3 = new JTextField(8);textField3.setFont(new Font('content', Font.PLAIN, 20));textField3.setLocation(150,250);textField3.setSize(250, 50);JButton btn = new JButton('發(fā)送郵件');btn.setLocation(50,350);btn.setSize(100, 50);btn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {SendEmailManger d = new SendEmailManger(textField.getText(), textField1.getText(), textField3.getText());d.start(); }});panel.add(jla1);panel.add(jla2);panel.add(jla3);panel.add(textField);panel.add(textField1);panel.add(textField3);panel.add(btn);// 4. 把 面板容器 作為窗口的內(nèi)容面板 設(shè)置到 窗口jf.setContentPane(panel);// 5. 顯示窗口,前面創(chuàng)建的信息都在內(nèi)存中,通過 jf.setVisible(true) 把內(nèi)存中的窗口顯示在屏幕上。jf.setVisible(true); }}三、郵件接收

import com.sun.mail.util.MailSSLSocketFactory;import com.sun.org.apache.bcel.internal.generic.NEW;import javax.mail.*;import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Date;import java.util.Properties;public class ReceiveEmailManger extends Thread { public static void main(String[] args){// 1. 創(chuàng)建一個(gè)頂層容器(窗口)JFrame jf = new JFrame('接收郵件');jf.setSize(500, 500);jf.setLocationRelativeTo(null);jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);JPanel panel = new JPanel(null);JLabel jla2 = new JLabel('標(biāo)題: ');jla2.setLocation(50,50);jla2.setSize(150, 50);jla2.setFont(new Font('123', 5, 20));final JTextField textField1 = new JTextField(8);textField1.setFont(new Font('subject', Font.PLAIN, 20));textField1.setLocation(150,50);textField1.setSize(250, 50);JLabel jla3 = new JLabel('郵件內(nèi)容: ');jla3.setLocation(50,150);jla3.setSize(150, 50);jla3.setFont(new Font('123', 5, 20));final JTextField textField3 = new JTextField(8);textField3.setFont(new Font('content', Font.PLAIN, 20));textField3.setLocation(150,150);textField3.setSize(250, 50); final JTextArea jta = new JTextArea();jta.setLocation(150,150);jta.setSize(250, 200);jta.setFont(new Font('content', Font.PLAIN, 30));JButton btn = new JButton('接收郵件');btn.setLocation(150,380);btn.setSize(100, 50);btn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {try {ReceiveEmailManger re = new ReceiveEmailManger(); String [] mess = re.ReceiveEmailManger(); textField1.setText(mess[1]); jta.setText(mess[2]);}catch (Exception ea){ ea.printStackTrace();} }});panel.add(jla2);panel.add(jla3);panel.add(textField1);panel.add(btn);panel.add(jta);// 4. 把 面板容器 作為窗口的內(nèi)容面板 設(shè)置到 窗口jf.setContentPane(panel);// 5. 顯示窗口,前面創(chuàng)建的信息都在內(nèi)存中,通過 jf.setVisible(true) 把內(nèi)存中的窗口顯示在屏幕上。jf.setVisible(true); } public String[] ReceiveEmailManger() throws Exception {//加密的郵件套接字協(xié)議工廠MailSSLSocketFactory sf = new MailSSLSocketFactory();sf.setTrustAllHosts(true);String pop3Server = 'pop.qq.com';String protocol = 'pop3';String username = '此處填寫qq郵箱';String password = '此處填寫QQ授權(quán)碼';Properties prop = new Properties();prop.put('mail.store.protocol', protocol);prop.put('mail.pop3.host', pop3Server);// 特別需要注意,要將ssl協(xié)議設(shè)置為true,否則會(huì)報(bào)530錯(cuò)誤prop.put('mail.pop3.ssl.enable', 'true');prop.put('mail.pop3.ssl.socketFactory', sf);Session mailSession = Session.getDefaultInstance(prop,null);mailSession.setDebug(false);String [] mess = new String[3];try { Store store = mailSession.getStore(protocol); //登錄驗(yàn)證 store.connect(pop3Server,username,password); //獲得用戶的郵件賬戶,注意通過pop3協(xié)議獲取某個(gè)郵件夾的名稱只能為inbox Folder folder = store.getFolder('inbox'); //設(shè)置訪問權(quán)限 folder.open(Folder.READ_ONLY); //獲取所有郵件 int size = folder.getMessageCount(); Message message = folder.getMessage(size); //獲取第一封發(fā)件人地址 String from = message.getFrom()[0].toString(); //獲取第一封郵件標(biāo)題 String subject = message.getSubject(); //獲取第一封郵件內(nèi)容 String conten = message.getContent().toString(); mess[0]=from; mess[1]=subject; mess[2]=conten;folder.close(false); store.close();}catch(Exception e) { e.printStackTrace();}return mess; }}四、導(dǎo)包

使用IDEA編程,在pom.xml文件下導(dǎo)入依賴包

<!-- java發(fā)送郵件jar包 --><dependencies> <dependency><groupId>javax.mail</groupId><artifactId>mail</artifactId><version>1.4.7</version> </dependency></dependencies>

到此這篇關(guān)于Java實(shí)戰(zhàn)之基于swing的QQ郵件收發(fā)功能實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)基于Java swing的QQ郵件收發(fā)功能實(shí)現(xiàn)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: qq
相關(guān)文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
日韩不卡免费视频| 色先锋资源久久综合| 久久精品综合一区| 亚洲三级小视频| 国产一区亚洲| 国产日本欧洲亚洲| eeuss鲁片一区二区三区在线观看| 欧美男生操女生| 久久国产成人午夜av影院| 色丁香久综合在线久综合在线观看| 亚洲国产一区二区三区| 亚洲欧美日韩国产一区二区| 亚洲宅男天堂在线观看无病毒| 亚洲美女少妇无套啪啪呻吟| 亚洲精品国产第一综合99久久| 一区在线观看| 夜夜嗨av一区二区三区四季av| 在线视频成人| 亚洲欧美区自拍先锋| 91久久极品少妇xxxxⅹ软件| 亚洲欧美日韩视频二区| 亚洲香蕉伊在人在线观| 亚洲欧美日韩国产| 天天综合网 天天综合色| 久久综合久久久| 蜜臀久久99精品久久久画质超高清 | 亚洲va韩国va欧美va| 成人精品鲁一区一区二区| 欧美不卡一区二区三区| 91香蕉国产在线观看软件| 久久久国产综合精品女国产盗摄| aaa亚洲精品| 国产精品毛片久久久久久| 亚洲国产一区二区三区在线播 | 日韩免费观看高清完整版| 成人午夜免费av| 国产欧美精品一区二区三区四区| 好吊视频一区二区三区四区| 亚洲天堂成人网| 麻豆成人在线播放| 精一区二区三区| 日韩免费观看高清完整版 | 你懂的亚洲视频| 国产精品美女久久久久久久久久久 | 天堂蜜桃一区二区三区| 色视频欧美一区二区三区| 激情五月播播久久久精品| 日韩亚洲国产中文字幕欧美| 色综合天天综合给合国产| 国产一区日韩欧美| 亚洲欧美在线视频观看| 美女黄色成人网| 久久99久久99小草精品免视看| 欧美日韩国产123区| 成人app网站| 中文字幕一区三区| 色哟哟国产精品| 国产成人高清在线| 国产精品网友自拍| 国产欧美精品| 久久国产婷婷国产香蕉| 日韩精品在线一区| 一区二区视频欧美| 麻豆视频一区二区| 欧美一区二区三区色| 欧美成人一区二免费视频软件| 伊人一区二区三区| 欧美日韩国产高清一区二区| av亚洲精华国产精华| 亚洲女子a中天字幕| 欧美综合一区二区三区| 99久久久国产精品免费蜜臀| 一区二区在线观看视频| 欧美视频一二三区| 亚洲va韩国va欧美va| 精品视频一区 二区 三区| 欧美1区2区视频| 日韩高清不卡一区二区| www日韩大片| 久久不射2019中文字幕| 国产91精品入口| 亚洲日本乱码在线观看| 欧美三级韩国三级日本三斤| 99久久国产综合精品女不卡| 亚洲国产精品一区二区久久| 欧美一级片在线观看| 亚洲欧洲一级| 国产精品一区二区在线观看网站| 中文字幕一区二区三区av| 欧美在线一区二区| 欧美日韩国语| 免费视频一区二区| 国产精品私人自拍| 欧美色男人天堂| 亚洲精选久久| 成人一级片网址| 亚洲成在人线在线播放| 亚洲精品在线电影| 国产精品尤物| 成人sese在线| 蜜臀久久99精品久久久久宅男 | 亚洲视频碰碰| 黄一区二区三区| 亚洲男人电影天堂| 精品国产精品网麻豆系列| 久久不射网站| 欧美一区1区三区3区公司| 美国三级日本三级久久99| 中文字幕成人在线观看| 欧美日韩在线电影| 激情自拍一区| 成人av在线电影| 美女精品自拍一二三四| 亚洲女与黑人做爰| 欧美精品一区二区蜜臀亚洲| 91精品办公室少妇高潮对白| 尤物在线精品| 99视频精品全部免费在线| 免费人成网站在线观看欧美高清| 国产精品久久久久久一区二区三区| 欧美日韩不卡在线| 久久久www| 亚洲成人资源| 99精品偷自拍| 国产成人综合网站| 天堂精品中文字幕在线| 亚洲日本中文字幕区| 久久久精品中文字幕麻豆发布| 欧美精品 国产精品| 久久久久国产一区二区| av成人天堂| 欧美日韩一区在线播放| 丁香五精品蜜臀久久久久99网站| 美女网站在线免费欧美精品| 裸体歌舞表演一区二区| 亚洲最大色网站| 国产精品毛片久久久久久久| 2024国产精品视频| 日韩欧美一区二区不卡| 久久久久久久高潮| 亚洲免费精品| 亚洲国产一区二区三区高清| 欧美96在线丨欧| 不卡一区在线观看| 国产成人在线看| 美女视频黄 久久| 午夜成人免费电影| 亚洲自拍都市欧美小说| 国产精品另类一区| 久久色.com| 精品奇米国产一区二区三区| 欧美日韩情趣电影| 日本乱人伦一区| 久久大香伊蕉在人线观看热2| 亚洲三级影院| 国产综合自拍| 欧美精品一区三区在线观看| 99riav久久精品riav| 99久久伊人久久99| 99天天综合性| 91啪在线观看| 欧美在线二区| 91一区二区三区在线播放| av在线播放成人| 96av麻豆蜜桃一区二区| 99视频精品在线| 91麻豆免费看| 欧美天堂亚洲电影院在线观看| 欧美色123| 国内精品久久久久久久果冻传媒 | 一区精品在线播放| 日本一区二区三区国色天香| 久久久久久电影| 国产三级三级三级精品8ⅰ区| 久久久久久久久伊人| 久久久高清一区二区三区| 久久蜜臀中文字幕| 久久欧美一区二区| 日本一区二区三区四区在线视频 | 制服丝袜中文字幕亚洲| 欧美精品久久一区| 日韩视频一区二区在线观看| 日韩免费电影一区| 精品国产乱码久久久久久夜甘婷婷| 精品日韩在线一区| 国产人伦精品一区二区| 国产精品免费aⅴ片在线观看| 自拍视频在线观看一区二区| 成人免费一区二区三区视频 | 成人动漫视频在线| 欧美精品一区在线| 亚洲三级色网| 久久午夜电影| 欧美日韩一区视频| 日韩精品一区二区三区三区免费| 精品久久人人做人人爽| 国产欧美日本一区视频| 一区二区三区在线视频观看| 日欧美一区二区| 国产专区欧美精品|