-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathREADME
More file actions
47 lines (31 loc) · 1.55 KB
/
README
File metadata and controls
47 lines (31 loc) · 1.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Step 1: Add dependencies to your maven projeect
<!-- mail -->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4</version>
</dependency>
<!-- Apache Commons Validator -->
<dependency>
<groupId>commons-validator</groupId>
<artifactId>commons-validator</artifactId>
<version>1.4.0</version>
</dependency>
Step 2: Copy EmailService.java to your project & set username/password
code: https://github.com/intesar/GMailJava/blob/master/src/main/java/com/bia/gmailjava/EmailService.java
Note: Enable pop, IMAP inside GMail --> Settings --> Forwarding and POP / IMAP
Sample code
// Instantiate using one of the four overloaded constructor
// Sample 1
EmailService emailService1 = new EmailService(email, pass);
// Sample 2
EmailService emailService2 = new EmailService(email, pass, Executors.newFixedThreadPool(1));
// Sample 3
EmailService emailService3 = new EmailService(email, pass, bcc);
// Sample 4
EmailService emailService4 = new EmailService(email, pass, bcc, Executors.newFixedThreadPool(1));
// send email using of the overloaded methods
emailService4.sendEmail(to, subject, body);
Design Decisions
No interface is define to keep simpler eco-system, feel free to add yours if required and refactor code accordingly
Pattern's & Technique's used - Command, Async, Inner class, Test first