如果想要同时使用两个帐号发送javamail,比如使用1@a.com发送1#邮件,使用2@a.com发送2#邮件,这时候,你就需要同时创建两个java.mail.Session对象。但是如果你仍然使用Session.getDefaultInstance创建session对象的话,你会发现,第二个username:2@a.com创建的session永远都和第一个一样,这是为什么呢?因为,getDefaultInstance是真正单例模式,而且,里面的username和password属性是final型的,无法更改。所以,你会发现两封email都是由1@a.com发出来的。所以这个时候你要使用javax.mail.Session.getInstance()方法来创建session对象。
(在使用一个账号发送时,如果账号,密码都确定没错,那么需要验证该邮箱是否开通了smtp)
相关推荐
AuthenticationFailedException Authenticator BodyPart BodyTerm ByteArrayDataSource ComparisonTerm ConnectionAdapter ConnectionEvent ConnectionListener ContentDisposition ContentType DateTerm...
JavaMail 是一个用于处理电子邮件的开源库,广泛应用于Java编程环境中。它提供了API,使得开发者可以方便地发送、接收和管理邮件。这个压缩包文件"MailTest"很可能包含了一个简单的JavaMail测试示例,帮助我们了解...
要使用JavaMail API,我们需要引入`javax.mail`和`javax.mail.internet`这两个包。在项目中,可以通过Maven或Gradle添加对应的依赖。 ```xml <!-- Maven --> <groupId>com.sun.mail</groupId> <artifactId>javax...
这个API包括了多种协议,如SMTP(Simple Mail Transfer Protocol)用于发送邮件,POP3(Post Office Protocol version 3)和IMAP(Internet Message Access Protocol)用于接收邮件。 `Authenticator`类在JavaMail ...
5. **邮件构造**:在Java中,可以使用`javax.mail`和`javax.mail.internet`包来构造和格式化邮件。`MimeMessage`类用于创建符合MIME标准的邮件对象,而`InternetAddress`类可以帮助处理邮件地址。 6. **SMTP服务器...
4. **网络通信**: 登录过程通常涉及网络请求,这里使用Java的`java.net`和`java.mail`包。首先,你需要通过SMTP服务器的地址和端口号建立Socket连接。然后,使用`javax.mail`库的Session、Store和Folder对象来连接到...
JavaMail API通过抛出`javax.mail.AuthenticationFailedException`异常来通知开发者验证失败。 ```java try { // 创建邮件会话并发送邮件 } catch (MessagingException e) { if (e instanceof ...
最后,我们探讨一个认证相关的报错:“javax.mail.AuthenticationFailedException”。当出现这种异常时,首先检查邮件服务器的相关设置,包括SMTP服务器地址、端口、用户名和密码是否配置正确。如果确认以上配置无误...
在编写Java程序时,我们需要引入JavaMail相关的依赖库,如`javax.mail`和`javax.mail-api`。这些库提供了发送邮件所需的接口和类。 以下是一个简单的JavaMail发送邮件的步骤: 1. **配置属性**: - `mail.debug`:...
在 `javax.mail.jar` 文件中,包含了 JavaMail API 的所有核心类和接口,而 `lib` 目录可能包含了一些依赖的第三方库,例如用于加密或特定协议支持的 JAR 文件。使用这些库时,确保它们在类路径中可用,以便正确地...
这些jar文件可能包括JavaMail的核心库(javax.mail.jar)、activation框架(activation.jar)以及可能的其他依赖,如JavaBeans Activation Framework (JAF) 和Java Servlet API等。 2. **创建Session对象**:...