赞
踩
JavaMail API是Sun公司为方便Java开发人员在应用程序中实线邮件发送和接收功能而通过的一套标准开发包,它支持一些常用的邮件协议,如SMTP、POP3、IMAP和MIME等。
JavaMail API按其功能划分通常可分为如下三大类:
首先浏览一下构成API的核心类:会话、消息、地址、验证程序、传输,存储和文件夹。所有这些类都可以在 JavaMail API即javax.mail的顶层包中找到,尽管您将频繁地发现您自己使用的子类是在javax.mail.internet包中找到的。
JavaMail对收发邮件进行了高级的抽象,形成了一些关键的的接口和类,它们构成了程序的基础,下面我们分别来了解一下这些最常见的对象。
1. Properties:属性对象
由于JavaMail需要和邮件服务器进行通信,这就要求程序提供许多诸如服务器地址、端口、用户名、密码等信息,JavaMail通过Properties对象封装这些属性信息。如下面的代码封装了两个属性信息:
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.sina.com.cn");
props.put("mail.smtp.auth", "true");
1)SMTP Configuration Properties
Name | Type | Description |
---|---|---|
mail.smtp.user | String | Default user name for SMTP. SMTP默认的登陆用户名 |
mail.smtp.host | String | The SMTP server to connect to. SMTP服务器地址 |
mail.smtp.port | int | The SMTP server port to connect to, if the connect() method doesn't explicitly specify one. Defaults to 25. SMTP服务器端口号,默认为25 |
mail.smtp.connectiontimeout | int | Socket connection timeout value in milliseconds. Default is infinite timeout. |
mail.smtp.timeout | int | Socket I/O timeout value in milliseconds. Default is infinite timeout. I/O连接超时时间,单位为毫秒,默认为永不超时 |
mail.smtp.from | String | Email address to use for SMTP MAIL command. This sets the envelope return address. Defaults to msg.getFrom() or InternetAddress.getLocalAddress(). NOTE: mail.smtp.user was previously used for this. 默认的邮件发送源地址 |
mail.smtp.localhost | String | Local host name. Defaults to InetAddress.getLocalHost().getHostName(). Should not normally need to be set if your JDK and your name service are configured properly. |
mail.smtp.ehlo | boolean | If false, do not attempt to sign on with the EHLO command. Defaults to true. Normally failure of the EHLO command will fallback to the HELO command; this property exists only for servers that don't fail EHLO properly or don't implement EHLO properly. |
mail.smtp.auth | boolean | If true, attempt to authenticate the user using the AUTH command. Defaults to false. SMTP服务器是否需要用户认证,默认为false |
mail.smtp.dsn.notify | String | The NOTIFY option to the RCPT command. Either NEVER, or some combination of SUCCESS, FAILURE, and DELAY (separated by commas). |
mail.smtp.dsn.ret | String | The RET option to the MAIL command. Either FULL or HDRS. |
mail.smtp.allow8bitmime | boolean | If set to true, and the server supports the 8BITMIME extension, text parts of messages that use the "quoted-printable" or "base64" encodings are converted to use "8bit" encoding if they follow the RFC2045 rules for 8bit text. |
mail.smtp.sendpartial | boolean | If set to true, and a message has some valid and some invalid addresses, send the message anyway, reporting the partial failure with a SendFailedException. If set to false (the default), the message is not sent to any of the recipients if there is an invalid recipient address. |
2)IMAP Configuration Properties
Name | Type | Description |
---|---|---|
mail.imap.user | String | Default user name for IMAP. |
mail.imap.host | String | The IMAP server to connect to. |
mail.imap.port | int | The IMAP server port to connect to, if the connect() method doesn't explicitly specify one. Defaults to 143. |
mail.imap.partialfetch | boolean | Controls whether the IMAP partial-fetch capability should be used. Defaults to true. |
mail.imap.fetchsize | int | Partial fetch size in bytes. Defaults to 16K. |
mail.imap.connectiontimeout | int | Socket connection timeout value in milliseconds. Default is infinite timeout. |
mail.imap.timeout | int | Socket I/O timeout value in milliseconds. Default is infinite timeout. |
mail.imap.statuscachetimeout | int | Timeout value in milliseconds for cache of STATUS co |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。