No description, website, or topics provided.
Java
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
target
.gitignore
README
nb-configuration.xml
pom.xml

README

    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