Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
88 KB
Nội dung
Server-side Web Programming Lecture 19: Java Mail How email works Sending Client Receiving Client Mail Client Software Mail Client Software SMTP POP/ IMAP Receiving Server Sending Server Mail Server Software SMTP Mail Server Software protocols • SMTP: Simple Mail Transfer Protocol – is used to send a message from the mail client software to your mail server / or from one mail server to another • POP: Post Office Protocol – transfers all messages from the mail server to the mail client POP in version 3: POP3 • IMAP: Internet Message Access Protocol – Is used by web-based mail services such as Hotmail, Yahoo, and Gmail – Allows a web browser to read messages that are stored on the mail server IMAP in version 4: IMAP4 Normal Email Process • Mail client software converts message to SMTP (or other) format before sending to server • Common form for usual components of message: – – – – – • Sender Recipient(s) Subject Text Etc Mail server sends message in MIME protocol to receiving server – Multipurpose Internet Message Extension • Mail client software on receiving client accesses using mail client software (possibly different) – POP – IMAP Java Mail • Java Mail API is a programming interface that makes it easy for Java developers to write code that automatically sends an email • Key idea: Java Mail (or other mail software) must emulate what mail client software does – Create SMTP or other protocol message – Insert required mail components – Connect with sending server and transmit message • Requires mail classes – Download from www.java.sun.com – Insert mail.jar and activation.jar file into java libraries • mail jar: contains the Java classes for the Java Mail API • activation jar: contains the Java classes for the JavaBean Activation Framework These classes are necessary for the JavaMail API to run How to install the Java Mail API and JavaBeans Activation Framework API • Locate the download page for the JavaMail API/JavaBeans Activation Framework API on the Java website: www.java.sun.com • Click on the Download button and follow the instructions • Save the zip file: javamail-1_4.zip/jaf-1_1.zip to your hard disk • Extract the files from the zip file • Copy the mail.jar/activation.jar file to the JDK’s jre\lib\ext directory Steps in Java Mail • Create a mail session – Creates email message object • Set message components – Properties of message object • Set addresses – Can be list for group of recipients • Send message – May need to identify self to server • Will need mail libraries Creating an Email Session • Create a Properties object to store information: – Generic Java class to store attribute/value pairs – Property props = new Properties(); • Specify the sending server: – props.put(“mail.smtp.host”, URL of mail server); • Create a new session object from those properties: – Session s = Session.getDefaultInstance(props); • Create new MimeMessage object from session – MimeMessage message = new MimeMessage(s); Common properties • mail.transport.protocol: specifies the protocol that’s used for the session • mail.smtp.host: specifies the host computer for SMTP server • mail.smtp.port: specifies the port that the SMTP server is using • mail.smtp.auth: specifies whether authentication is required to log in to the SMTP server • mail.smtp.quitwait: this property can be set to false to prevent an SSLException from occurring when you attempt to connect to a Gmail SMTP server • To set the properties of Properties object, you can use the put method to specify of a property name and value • The static getDefaultInstance method of the Session class returns the default Session object for the application • The setDebug method of the Session object can be used to print debugging information about the session to a log file • If you change the properties for a Session object, you must restart Tomcat before the changes take effect • If the Java application is running on the same computer as the SMTP server, you can use the localhost keyword to specify the SMTP host Setting Message Components • Set the subject: – message.setSubject(“subject”); • Set the message text: – message.setText(“Thanks for your order!”); //”text/plain” • Could also be html or other types – Will need to specify MIME type String response = “Reciept