javax.mail.Authenticator 使用 base 64 编码
javax.mail.Authenticator with base 64 Encoding
我有一台服务器要求 ID 和密码必须以 Base64 编码。意思不是 Username
你必须先将它编码成 Base64,然后将编码后的字符串输入。
然后在我的 Java 客户端中我有一个 javax.mail.Authenticator
。我手动将 ID 和密码编码为 base64,将它们保存为字符串并使用这些字符串初始化 Authenticator。但是再三检查,ID和密码都不对
在这种情况下可能有什么问题?
编辑:另一个问题是关于 body 部分,这里是关于 Authenticator
使用java.util.Base64。编码和解码如下:
String s = "...full Unicode...";
s = Base64.getEncoder().encodeToString(s.getBytes(StandardCharsets.UTF_8));
s = new String(Base64.getDecoder().decode(s), StandardCharsets.UTF_8);
有一些可能的调整,比如最后没有填充,替代 URL 安全的 Base64 等等。
我的问题的答案是邮件服务器中的 openssl 需要 Base64 编码,而当我通过 java 客户端连接时,它的 UTF-8。
我有一台服务器要求 ID 和密码必须以 Base64 编码。意思不是 Username
你必须先将它编码成 Base64,然后将编码后的字符串输入。
然后在我的 Java 客户端中我有一个 javax.mail.Authenticator
。我手动将 ID 和密码编码为 base64,将它们保存为字符串并使用这些字符串初始化 Authenticator。但是再三检查,ID和密码都不对
在这种情况下可能有什么问题?
编辑:另一个问题是关于 body 部分,这里是关于 Authenticator
使用java.util.Base64。编码和解码如下:
String s = "...full Unicode...";
s = Base64.getEncoder().encodeToString(s.getBytes(StandardCharsets.UTF_8));
s = new String(Base64.getDecoder().decode(s), StandardCharsets.UTF_8);
有一些可能的调整,比如最后没有填充,替代 URL 安全的 Base64 等等。
我的问题的答案是邮件服务器中的 openssl 需要 Base64 编码,而当我通过 java 客户端连接时,它的 UTF-8。