JavaMail
JavaMail՝ Java API է SMTP, POP3 և IMAP արձանագրությունների միջոցով էլփոստ ստանալու և ուղարկելու համար։ JavaMail-ը Java EE պլատֆորմի մի մասն է, սակայն հասանելի է նաև որպես կամընտիր փաթեթ՝ Java SE հավելվածներում օգտագործելու համար։
Կա նաև JavaMail-ի բաց կոդով այլընտրանքային ներդրում՝ GNU JavaMail, որն իրականացնում է միայն JavaMail-ի 1.3 տարբերակի հստակեցումը. դա միակ անվճար իրականացումն է, որն աջակցում է NNTP արձանագրությանը, որը թույլ է տալիս կարդալ և հրապարակել հոդվածներ լրատվական խմբերում։
JavaMail-ը չի ներառում փոստի սերվեր, այնուամենայնիվ, անվճար Apache James-ը և Java Email Server-ը (POP3 և SMTP) կարող են օգտագործվել նման առաջադրանքների համար, կամ SubEthaSMTP գրադարանը՝ SMTP սերվեր ստեղծելու համար[1]։
Լիցենզիա
[խմբագրել | խմբագրել կոդը]Աղբյուրի ելակոդը և կազմված գրադարանները հասանելի են CDDL-1.1 լիցենզիայի ներքո և մասամբ GPLv2-ի ներքո՝ բացառությամբ հղման, իսկ նմուշների աղբյուրները հասանելի են BSD լիցենզիայի ներքո[2]։
Օգտագործման օրինակներ
[խմբագրել | խմբագրել կոդը]Հաղորդագրությունների ընդունում IMAP-ի միջոցով
[խմբագրել | խմբագրել կոդը]import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
// Send a simple, single part, text/plain e-mail
public class TestEmail {
public static void main(String[] args) {
// SUBSTITUTE YOUR EMAIL ADDRESSES HERE!
String to = "sendToMailAddress";
String from = "sendFromMailAddress";
// SUBSTITUTE YOUR ISP'S MAIL SERVER HERE!
String host = "smtp.yourisp.invalid";
// Create properties, get Session
Properties props = new Properties();
// If using static Transport.send(),
// need to specify which host to send it to
props.put("mail.smtp.host", host);
// To see what is going on behind the scene
props.put("mail.debug", "true");
Session session = Session.getInstance(props);
try {
// Instantiate a message
Message msg = new MimeMessage(session);
//Set message attributes
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = {new InternetAddress(to)};
msg.setRecipients(Message.RecipientType.TO, address);
msg.setSubject("Test E-Mail through Java");
msg.setSentDate(new Date());
// Set message content
msg.setText("This is a test of sending a " +
"plain text e-mail through Java.\n" +
"Here is line 2.");
//Send the message
Transport.send(msg);
}
catch (MessagingException mex) {
// Prints all nested (chained) exceptions as well
mex.printStackTrace();
}
}
}//End of class