diff options
Diffstat (limited to 'kdejava/koala/examples/simplemail/MailHelper.java')
-rw-r--r-- | kdejava/koala/examples/simplemail/MailHelper.java | 220 |
1 files changed, 220 insertions, 0 deletions
diff --git a/kdejava/koala/examples/simplemail/MailHelper.java b/kdejava/koala/examples/simplemail/MailHelper.java new file mode 100644 index 00000000..b7fa8aba --- /dev/null +++ b/kdejava/koala/examples/simplemail/MailHelper.java @@ -0,0 +1,220 @@ +//package com.werpu.simplemail; + + +import java.util.Iterator; +import java.util.LinkedList; +import java.util.Properties; + +import javax.mail.Address; +import javax.mail.Message; +import javax.mail.MessagingException; +import javax.mail.Session; +import javax.mail.Transport; +import javax.mail.internet.InternetAddress; +import javax.mail.internet.MimeMessage; + +/** + * + * @author Werner Punz werpu@gmx.at + * @version 1.0 + * This is a basic Mailer class built upon the JavaMail API + * it only does SMTP. + */ +public class MailHelper +{ + + private String message = ""; + + private String recipient = ""; + + private String server = ""; + + private String password = ""; + + private String sender = ""; + + private String subject = ""; + + private String username = ""; + + private LinkedList ccAddresses = new LinkedList(); + + /** Creates a new instance of LC_Mailer */ + public MailHelper() + { + } + + /** Getter for property message. + * @return Value of property message. + */ + public String getMessage() + { + return message; + } + + /** Setter for property message. + * @param message New value of property message. + */ + public void setMessage(String message) + { + this.message = message; + } + + /** Getter for property password. + * @return Value of property password. + */ + public String getPassword() + { + return password; + } + + /** Setter for property password. + * @param password New value of property password. + */ + public void setPassword(String password) + { + this.password = password; + } + + /** Getter for property recipient. + * @return Value of property recipient. + */ + public String getRecipient() + { + return recipient; + } + + /** Setter for property recipient. + * @param recipient New value of property recipient. + */ + public void setRecipient(String recipient) + { + this.recipient = recipient; + } + + /** Getter for property sender. + * @return Value of property sender. + */ + public String getSender() + { + return sender; + } + + /** Setter for property sender. + * @param sender New value of property sender. + */ + public void setSender(String sender) + { + this.sender = sender; + } + + /** Getter for property server. + * @return Value of property server. + */ + public String getServer() + { + return server; + } + + /** Setter for property server. + * @param server New value of property server. + */ + public void setServer(String server) + { + this.server = server; + } + + /** Getter for property subject. + * @return Value of property subject. + */ + public String getSubject() + { + return subject; + } + + /** Setter for property subject. + * @param subject New value of property subject. + */ + public void setSubject(String subject) + { + this.subject = subject; + } + + /** + * Method setUsername. + * @param username + */ + public void setUsername(String username) + { + this.username = username; + } + + /** + * Method addCCAddress. + * @param ccAddresses + * Adds a single CC Adress to the current CC Addresses + */ + public void addCCAddress(String ccAddresses) + { + if (!ccAddresses.equalsIgnoreCase("null")) + this.ccAddresses.add(ccAddresses); + } + + /** + * Method addCCAddress. + * @param ccAddresses + * adds the ccAddresses to the current messaging parameters + */ + public void addCCAddress(Iterator ccAddresses) + { + + while (ccAddresses.hasNext()) + addCCAddress((String) ccAddresses.next()); + } + + /** + * Method send. + * @throws MessagingException + * sends out the mail with the set messaging parameters + */ + public void send() throws MessagingException + { + Properties props = new Properties(); + Session session = Session.getDefaultInstance(props, null); + + + Address to = new InternetAddress(getRecipient()); + Address from = new InternetAddress(getSender()); + + //only one from address + Address[] froms = new Address[1]; + froms[0] = from; + + MimeMessage message = new MimeMessage(session); + message.setText(getMessage()); + message.setSubject(getSubject()); + message.addRecipient(Message.RecipientType.TO, to); + + //Add CCs to the recipient list + Iterator i = ccAddresses.iterator(); + while (i.hasNext()) + { + to = new InternetAddress((String) i.next()); + message.addRecipient(Message.RecipientType.BCC, to); + } + + message.addFrom(froms); + message.saveChanges(); + + + //set smtp + Transport myTransport = session.getTransport("smtp"); + + //send mail + myTransport.connect(getServer(), username.trim(), password.trim()); + + myTransport.sendMessage(message,message.getAllRecipients()); + myTransport.close(); + } + +} |