1

我已使用此代码使用 AWS SES 发送电子邮件:

package com.amazonaws.samples;

import java.io.IOException;

import com.amazonaws.regions.Regions;
import com.amazonaws.services.simpleemail.AmazonSimpleEmailService;
import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClientBuilder;
import com.amazonaws.services.simpleemail.model.Body;
import com.amazonaws.services.simpleemail.model.Content;
import com.amazonaws.services.simpleemail.model.Destination;
import com.amazonaws.services.simpleemail.model.Message;
import com.amazonaws.services.simpleemail.model.SendEmailRequest; 

public class AmazonSESSample {
  static final String FROM = "sender@example.com";
  static final String TO = "recipient@example.com";
  static final String SUBJECT = "Amazon SES test (AWS SDK for Java)";
  static final String HTMLBODY = "Amazon SES test (AWS SDK for Java)";
  static final String TEXTBODY = "This email was sent through Amazon SES ";

  public static void main(String[] args) throws IOException {
    try {
      AmazonSimpleEmailService client = 
          AmazonSimpleEmailServiceClientBuilder.standard().withRegion(Regions.US_EAST_1).build()
      SendEmailRequest request = new SendEmailRequest()
          .withDestination(
              new Destination().withToAddresses(TO))
          .withMessage(new Message()
              .withBody(new Body()
                  .withHtml(new Content()
                      .withCharset("UTF-8").withData(HTMLBODY))
                  .withText(new Content()
                      .withCharset("UTF-8").withData(TEXTBODY)))
              .withSubject(new Content()
                  .withCharset("UTF-8").withData(SUBJECT)))
          .withSource(FROM)
      client.sendEmail(request);
      System.out.println("Email sent!");
    } catch (Exception ex) {
      System.out.println("The email was not sent. Error message: " 
          + ex.getMessage());
    }
  }
}

现在,我的问题是我必须在这封电子邮件中添加一个标签,以便收件人看到:

MyLabel <@example.com>

而不是接收者当前看到的内容:

发件人@example.com

根据 AWS SES 的开发者指南,

您可以将标签添加到已验证的电子邮件地址,而无需执行其他验证步骤。要将标签添加到电子邮件地址,请在帐户名称和“at”符号 (@) 之间添加一个加号 (+),然后添加一个文本标签。例如,如果您已经验证了 sender@example.com,则可以使用 sender+myLabel@example.com 作为电子邮件的“发件人”或“返回路径”地址。您可以使用此功能来实现可变信封返回路径 (VERP)。然后,您可以使用 VERP 从邮件列表中检测和删除无法投递的电子邮件地址。

但是,如果我将 FROM 更改为“sender+MyLabel@example.com”,电子邮件将发送为:

发件人+MyLabel@example.com

尽管如此,我已经验证了我的 FROM 电子邮件地址。请帮忙。

4

1 回答 1

2

我通过将 FROM 变量的值从“sender@example.com”替换为“myLabel< sender@example.com>”,为我的电子邮件添加了标签

静态最终字符串 FROM = "myLabel<sender@example.com>";

于 2020-09-23T06:58:52.307 回答