在下面的代码中,我尝试了两种组合
两人都犯了同样的错误。我在家庭网络的eclipse环境中运行了这段代码。
错误
Attempting to send an email through the Amazon SES SMTP interface...
The email was not sent.
Error message: 535 Authentication Credentials Invalid
代码
public class amazon_ses_smtp_test {
static final String FROM = "someone@myemail.com"; // This has been verified on the Amazon SES setup
static final String TO = "justanyone@anydomain"; // I have production access
static final String BODY = "This email was sent through the Amazon SES SMTP interface by using Java.";
static final String SUBJECT = "Amazon SES test (SMTP interface accessed using Java)";
static final String SMTP_USERNAME = "tried username and tried accesskey here";
static final String SMTP_PASSWORD = "tried the password and the access key";
static final String HOST = "email-smtp.us-east-1.amazonaws.com";
static final int PORT = 25;
public static void main(String[] args) throws Exception {
Properties props = System.getProperties();
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.port", PORT);
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.starttls.required", "true");
Session session = Session.getDefaultInstance(props);
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(FROM));
msg.setRecipient(Message.RecipientType.TO, new InternetAddress(TO));
msg.setSubject(SUBJECT);
msg.setContent(BODY,"text/plain");
Transport transport = session.getTransport();
try
{
System.out.println("Attempting to send an email through the Amazon SES SMTP interface...");
transport.connect(HOST, SMTP_USERNAME, SMTP_PASSWORD);
transport.sendMessage(msg, msg.getAllRecipients());
System.out.println("Email sent!");
}
catch (Exception ex) {
System.out.println("The email was not sent.");
System.out.println("Error message: " + ex.getMessage());
}
finally
{
transport.close();
}
}
}
如果您正在使用Terraform,您可以使用以下。tf
文件,以便您可以获得正确的数据
resource "aws_iam_user" "smtp_user" {
name = "smtp_user"
}
resource "aws_iam_access_key" "smtp_user" {
user = aws_iam_user.smtp_user.name
}
data "aws_iam_policy_document" "ses_sender" {
statement {
actions = ["ses:SendRawEmail"]
resources = ["*"]
}
}
resource "aws_iam_policy" "ses_sender" {
name = "ses_sender"
description = "Allows sending of e-mails via Simple Email Service"
policy = data.aws_iam_policy_document.ses_sender.json
}
resource "aws_iam_user_policy_attachment" "test-attach" {
user = aws_iam_user.smtp_user.name
policy_arn = aws_iam_policy.ses_sender.arn
}
output "smtp_username" {
value = aws_iam_access_key.smtp_user.id
}
output "smtp_password" {
value = aws_iam_access_key.smtp_user.ses_smtp_password_v4
}
这将输出该区域SMTP身份验证所需的用户名和密码。
这将对密码进行正确的计算。
在我们的案例中,问题是通过以下方式修复的:AWS SMTP在其凭据中具有特殊字符。凭据必须进行url编码,然后在配置中提供。
重要的
您的SMTP用户名和密码与您的AWS访问密钥ID和秘密访问密钥不同。请勿尝试使用AWS凭据对SMTP终结点进行身份验证。有关凭据的详细信息,请参阅使用凭据与Amazon SES。
链接是:http://docs.aws.amazon.com/ses/latest/DeveloperGuide/smtp-credentials.html
我试图使用证书对本地托管的Kubernetes集群(V1.6.4)进行身份验证。这是在使用Jenkins的Kubernetes插件的上下文中进行的。 > 将客户端证书转换为PKCS: 在Jenkins中,使用证书创建凭据 : :和上载文件 :(在证书创建过程中指定) null 2017年09月05日上午10:22:03 IO.fabric8.kubernetes.client.config try
问题内容: 我还很陌生,对于使用证书进行身份验证时客户端应该显示的内容有些困惑。 我正在编写一个Java客户端,该客户端需要对POST特定对象进行简单的数据处理URL。那部分工作正常,唯一的问题是应该完成。该部分相当容易处理(无论是使用Java的内置HTTPS支持还是使用Java的内置支持),但是我一直坚持使用客户端证书进行身份验证。我注意到这里已经存在一个非常类似的问题,我还没有尝试使用我的代码
null 大多数示例使用makecert或New-SelfSignedCertificate创建证书。在这种情况下,对于生产应用程序,自签名证书是否有问题?这仅供应用程序使用Azure Key Vault进行身份验证,客户机在浏览器中不会看到这一点。 如果在这种情况下,自签名证书仍然不受欢迎,那么从受信任的权威机构购买证书是否与购买SSL/TLS证书的过程相同?甚至是同一类型的证书吗?
我有一个带有这些命令的自签名证书链,并在Apache服务器上配置了它们 但是当我尝试 我从openssl中得到一个错误 用于生成证书的命令或配置文件有问题吗? [req] distinguished_name=req_distinguished_name x509_extensions=v3_ca dirstring_type=nobmp [req_distinguished_name] comm
下面是一个例子: 我还将ingress配置为在所有主机名上使用机密,而不指定host:tls:-secretname:******WTE-Ingress
nginx 证书问题 已经使用自签名证书生成了一个证书, 并配置到 nginx 中了, 域名 CN 也配置正确了 然后在客户端 hosts 文件中也配置了对应映射 导入了对应的证书文件 然后访问域名, 说证书无效, 每次都到这里卡住, 不知道这证书哪里无效了, 我都导入到了受信任的根证书里面了, 并且在 chrome 的证书管理中也能看到