A következő kódrészletet Amir Sedighi írta.

package mail.send.datis.com;

import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;
import javax.mail.internet.MimeMultipart;
import java.util.ArrayList;
import java.util.Date;
import java.util.Properties;

public class SMTPClient {

    private final String _CONTENT_HTML = "text/html";
    private final String _CONTENT_HOST = "mail.datispars.com";
    private final String _PORT = "25";
    private final String _USERNAME = "Ez az e-mail cím a spamrobotok elleni védelem alatt áll. Megtekintéséhez engedélyeznie kell a JavaScript használatát.";
    private final String _PASSWORD = "your_password";

    public static void main(String[] args) throws MessagingException {
        SMTPClient sender = new SMTPClient();

       // sending mail, without attachment.
        sender.send("Ez az e-mail cím a spamrobotok elleni védelem alatt áll. Megtekintéséhez engedélyeznie kell a JavaScript használatát.","Ez az e-mail cím a spamrobotok elleni védelem alatt áll. Megtekintéséhez engedélyeznie kell a JavaScript használatát.", "Hi Kamran, how is going?" , "
this is a h1 tag so, it may appears in huge size! :D


");

       // sending another mail, with 2 attachments.
        ArrayList fileNames = new ArrayList();
        fileNames.add("/home/amir/Documents/hi_world.pdf");
        fileNames.add("/home/amir/projects/datis/sendSMTP.zip");

       sender.send("Ez az e-mail cím a spamrobotok elleni védelem alatt áll. Megtekintéséhez engedélyeznie kell a JavaScript használatát.","Ez az e-mail cím a spamrobotok elleni védelem alatt áll. Megtekintéséhez engedélyeznie kell a JavaScript használatát.", "Hi Kamran, how is going?" , "
this is a h1 tag so, it may appears in huge size! :D


", fileNames);

    }

    private void send(String from, String to, String subject, String body) throws MessagingException {
        Message message = new MimeMessage(getSession());
        message.addRecipient(RecipientType.TO, new InternetAddress(to));
        message.addFrom(new InternetAddress[] { new InternetAddress(from) });
        message.setSubject(subject);
        message.setContent(body, _CONTENT_HTML);
        Transport.send(message);
    }

    private void send(String from, String to, String subject, String body, ArrayList attachments) throws MessagingException {
        Message message = new MimeMessage(getSession());
        message.addRecipient(RecipientType.TO, new InternetAddress(to));
        message.addFrom(new InternetAddress[] { new InternetAddress(from) });
        message.setSubject(subject);
        MimeBodyPart mbp1 = new MimeBodyPart();
        mbp1.setText(body);
        mbp1.setContent(body, _CONTENT_HTML);
        Multipart mp = new MimeMultipart();
        mp.addBodyPart(mbp1);

        for (String fileName: attachments){
            MimeBodyPart mbp = new MimeBodyPart();
            FileDataSource fds = new FileDataSource(fileName);
            mbp.setDataHandler(new DataHandler(fds));
            mbp.setFileName(fds.getName());
            mp.addBodyPart(mbp);
        }

        message.setContent(mp);
        message.setSentDate(new Date());
        Transport.send(message);
    }

    private Session getSession() {
        Authenticator authenticator = new Authenticator();
        Properties properties = new Properties();
        properties.setProperty("mail.smtp.submitter", authenticator.getPasswordAuthentication().getUserName());
        properties.setProperty("mail.smtp.auth", "true");
        properties.setProperty("mail.smtp.host", _CONTENT_HOST);
        properties.setProperty("mail.smtp.port", _PORT);
        return Session.getInstance(properties, authenticator);
    }

    private class Authenticator extends javax.mail.Authenticator {
        private PasswordAuthentication authentication;

        public Authenticator() {
            authentication = new PasswordAuthentication(_USERNAME, _PASSWORD);
        }

        protected PasswordAuthentication getPasswordAuthentication() {
            return authentication;
        }
    }
}

 

Forrás: http://blog.datispars.com/sending-html-emails-with-attachments-via-smtp-and-java-mail-api

Kategória: Java

Látogatók

235861
Ma25
Tegnap33
Ezen a héten235
Ebben a hónapban1816
Összesen235861
Statistik created: 2024-03-29T13:08:47+01:00
Bejelentkezett felhasználók 0
Regisztrált felhasználók 1
Ma regisztráltak 0