66import android .view .View ;
77import android .widget .Toast ;
88
9- import com .louisgeek .javamail .email .EmailMessage ;
10- import com .louisgeek .javamail .email .interfaces .IEmailFactory ;
11- import com .louisgeek .javamail .email .netease .NeteaseEmailFactory ;
12- import com .louisgeek .javamail .email .sina .SinaEmailFactory ;
13- import com .louisgeek .javamail .email .tencent .TencentEmailFactory ;
9+ import com .louisgeek .javamail .interfaces .IEmailFactory ;
10+ import com .louisgeek .javamail .microsoft .OutlookEmailFactory ;
11+ import com .louisgeek .javamail .netease .NeteaseEmailFactory ;
12+ import com .louisgeek .javamail .sina .SinaEmailFactory ;
1413
1514import java .io .File ;
1615import java .io .FileOutputStream ;
2221import javax .mail .internet .AddressException ;
2322import javax .mail .internet .InternetAddress ;
2423
24+
2525public class MainActivity extends AppCompatActivity {
2626 private String toEmail =
"[email protected] " ;
2727 private String ccEmail =
"[email protected] " ;
2828 private String bccEmail =
"[email protected] " ;
2929
30- private static final String USER_NAME =
"[email protected] " ;
31- //报 535 错误 更改QQ密码以及独立密码会触发授权码过期,需要重新获取新的授权码登录。
32- private static final String AUTH_CODE = "xxx" ;//qq邮箱 授权码
33- //发送方的邮箱
34- private static final String FROM_EMAIL =
"[email protected] " ;
35- //发送方姓名
36- private static final String FROM_NAME = "xxx" ;
3730
3831 private ExecutorService executorService = Executors .newFixedThreadPool (2 );
3932
@@ -51,36 +44,35 @@ public void onClick(View v) {
5144 @ Override
5245 public void run () {
5346
54- //
55- //腾讯 QQ 邮箱发 email
56- IEmailFactory tencentEmailFactory = new TencentEmailFactory ();
47+
48+ IEmailFactory neteaseEmailFactory = new NeteaseEmailFactory ();
5749 try {
5850 EmailMessage emailMessage = EmailMessage .newBuilder ()
59- .setTitle ("test_qq_email" )
60- .setText ("test_qq_email text" )
61- .setContent ("test_qq_email 内容" )
62- .setCCAddresses (new Address []{new InternetAddress (ccEmail )})
63- .setBCCAddresses (new Address []{new InternetAddress (bccEmail )})
51+ .setTitle ("杭船业软件有限公司" )
52+ .setText ("杭船业软件有限公司1" )
53+ .setContent ("杭船业软件有限公司2" )
6454 .setTOAddresses (new Address []{new InternetAddress (toEmail )})
6555 .build ();
6656
67- tencentEmailFactory .getProtocolSmtp ().send (emailMessage );
57+ neteaseEmailFactory .getProtocolSmtp ().send (emailMessage );
6858
6959
7060 EmailMessage emailMessage2 = EmailMessage .newBuilder ()
71- .setTitle ("test_qq_email" )
72- .setText ("test_qq_email text 回执" )
73- .setContent ("test_qq_email 内容 回执" )
61+ .setTitle ("杭船业软件有限公司回执" )
62+ .setText ("杭船业软件有限公司1 回执" )
63+ .setContent ("杭船业软件有限公司2 回执" )
64+ .setCCAddresses (new Address []{new InternetAddress (ccEmail )})
65+ .setBCCAddresses (new Address []{new InternetAddress (bccEmail )})
7466 .setTOAddresses (new Address []{new InternetAddress (toEmail )})
7567 .setReadReceipt (true )
7668 .build ();
7769
78- tencentEmailFactory .getProtocolSmtp ().send (emailMessage2 );
70+ neteaseEmailFactory .getProtocolSmtp ().send (emailMessage2 );
7971 } catch (AddressException e ) {
80- e . printStackTrace ( );
72+ MyLog . e ( e . getMessage () );
8173 }
8274 //网易 163 邮箱发 email
83- File imagePath = new File (Environment .getExternalStorageDirectory () + File .separator + "temp" + File .separator + "homepage-newlogo.png " );
75+ File imagePath = new File (Environment .getExternalStorageDirectory () + File .separator + "temp" + File .separator + "zfq.jpg " );
8476 //
8577 File filePath = new File (getFilesDir () + File .separator + "temp" + File .separator );
8678 if (!filePath .exists ()) {
@@ -95,8 +87,6 @@ public void run() {
9587 fileOutputStream .write ("test_email content 中文" .getBytes ("utf-8" ));
9688 fileOutputStream .close ();
9789 //
98- IEmailFactory neteaseEmailFactory = new NeteaseEmailFactory ();
99- //
10090 EmailMessage emailMessageWithFile = EmailMessage .newBuilder ()
10191 .setTitle ("test_163_email" )
10292 .setText ("test_163_email text" )
@@ -106,7 +96,7 @@ public void run() {
10696 .build ();
10797
10898 //带附件
109- neteaseEmailFactory .getProtocolSmtp ().send (emailMessageWithFile );
99+ // neteaseEmailFactory.getProtocolSmtp().send(emailMessageWithFile);
110100
111101
112102 EmailMessage emailMessageWithImage = EmailMessage .newBuilder ()
@@ -118,7 +108,7 @@ public void run() {
118108 .build ();
119109
120110 // 图文
121- neteaseEmailFactory .getProtocolSmtp ().send (emailMessageWithImage );
111+ // neteaseEmailFactory.getProtocolSmtp().send(emailMessageWithImage);
122112
123113 EmailMessage emailMessageWithImageAndFile = EmailMessage .newBuilder ()
124114 .setTitle ("test_163_email" )
@@ -130,7 +120,7 @@ public void run() {
130120 .build ();
131121
132122 // 图文 带附件
133- neteaseEmailFactory .getProtocolSmtp ().send (emailMessageWithImageAndFile );
123+ // neteaseEmailFactory.getProtocolSmtp().send(emailMessageWithImageAndFile);
134124
135125
136126 //
@@ -143,7 +133,7 @@ public void run() {
143133 .setTOAddresses (new Address []{new InternetAddress (toEmail )})
144134 .build ();
145135
146- sinaEmailFactory .getProtocolSmtp ().send (emailMessageS );
136+ // sinaEmailFactory.getProtocolSmtp().send(emailMessageS);
147137
148138
149139 EmailMessage emailMessageSWithImage = EmailMessage .newBuilder ()
@@ -153,12 +143,24 @@ public void run() {
153143 .setImageFiles (new File []{imagePath })
154144 .setTOAddresses (new Address []{new InternetAddress (toEmail )})
155145 .build ();
156- sinaEmailFactory .getProtocolSmtp ().send (emailMessageSWithImage );
146+ //sinaEmailFactory.getProtocolSmtp().send(emailMessageSWithImage);
147+
148+
149+ IEmailFactory outlookEmailFactory = new OutlookEmailFactory ();
150+ EmailMessage emailMessageSWithImage55 = EmailMessage .newBuilder ()
151+ .setTitle ("test_out_email" )
152+ .setText ("test_out_email text" )
153+ .setContent ("test_out_email 图文 <img src='cid:" + imagePath .getName () + "'/>" )
154+ .setImageFiles (new File []{imagePath })
155+ .setTOAddresses (new Address []{new InternetAddress (toEmail )})
156+ .build ();
157+ //outlookEmailFactory.getProtocolSmtp().send(emailMessageSWithImage55);
158+
157159
158160 } catch (IOException e ) {
159- e . printStackTrace ( );
161+ MyLog . e ( e . getMessage () );
160162 } catch (AddressException e ) {
161- e . printStackTrace ( );
163+ MyLog . e ( e . getMessage () );
162164 }
163165
164166
@@ -167,7 +169,7 @@ public void run() {
167169
168170
169171 //
170- Toast .makeText (MainActivity .this , "你已经点击 !" , Toast .LENGTH_SHORT ).show ();
172+ Toast .makeText (MainActivity .this , "点击成功 !" , Toast .LENGTH_SHORT ).show ();
171173
172174 }
173175 });
0 commit comments