gpt4 book ai didi

java - 使用 Gmail 别名将邮件回复链接到应用程序内容

转载 作者:行者123 更新时间:2023-12-02 11:47:40 27 4
gpt4 key购买 nike

我的应用程序中有以下用例:当应用程序中发生特定事件时,应通过电子邮件通知所有感兴趣的用户。然后,如果用户回复电子邮件,他的回复应该显示在应用程序的 Activity 页面中。

我最初的想法是每次发生事件时创建主通知电子邮件的临时邮件别名,并使用在回复 header 中设置的别名发送通知电子邮件。然后,如果有人使用别名(比方说 csa123423@mydomain.com)回复该邮件,我可以找出该回复所指的事件。

原来Spring的JavaMailSender没有提供使用别名的方法,所以我尝试使用Gmail API。据我了解,创建 Gmail 别名实际上意味着将您域中现有的电子邮件设置为该域中另一个现有电子邮件的别名。因此,使用 Directory API 和 Gmail API 实现此目的的 Java 代码如下所示:

User newUser = new User();
UserName userName = new UserName();
userName.setGivenName("xsd");
userName.setFamilyName("ewrewr");
newUser.setPrimaryEmail("bbb34262bb45@mydomain.com");
newUser.setPassword("12345");
newUser.setName(userName);
User result = directoryService.users().insert(newUser).execute();

SendAs sendAs = new SendAs().setSendAsEmail("bbb34262bb45@mydomain.com").setReplyToAddress("bbb34262bb45@mydomain.com").setDisplayName("My name").setTreatAsAlias(true);
SendAs sendAsResult = gmailService.users().settings().sendAs().create(user, sendAs).execute();

MimeMessage emailContent = createEmail("mymail@gmail.com", "bbb34262bb45@mydomain.com", "Test from app", "Test body");
Message message = createMessageWithEmail(emailContent);
message = gmailService.users().messages().send(user, message).execute();

但据我所知,每个域/帐户可以创建的帐户数量有一些限制,而且 Google 会为此收取更多费用。

还有其他更简单的方法可以在 Gmail 中创建别名吗?或者是否有另一种方法可以在不使用邮件别名的情况下实现所需的功能(将邮件回复链接到应用程序内容)?

最佳答案

尝试利用 Gmail 提供的“+”功能来创建临时别名。基本想法是,如果我的电子邮件 ID 是 xyz@gmail.com,我可以使用 xyz+1@gmail.com 或 xyz+anything_here@gmail.com 发送/接收电子邮件,它会像魅力一样工作。

您可以通过在 Gmail ID 中的“+”后面保留别名/唯一 ID 来利用此功能,然后在您的应用程序中轻松解析此别名。

关于java - 使用 Gmail 别名将邮件回复链接到应用程序内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48094442/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com