大家好,我正在尝试使用JavaMail和Amazon SES发送电子邮件,这是我写的代码,
static Properties props = new Properties();
static {
props.setProperty("mail.transport.protocol", "aws");
props.setProperty("mail.aws.user", "userName");
props.setProperty("mail.aws.password", "secretKey");
}
void doThis() throws AddressException, MessagingException {
Session session = Session.getDefaultInstance(props);
Message mimeMessage = new MimeMessage(session);
mimeMessage.setFrom(new InternetAddress("support@xyz.com"));
mimeMessage.setRecipients(Message.RecipientType.TO, InternetAddress.parse("kaustubh@xyz.com"));
mimeMessage.setSubject("Subject");
mimeMessage.setContent("Message contenet", "text/html");
Transport t = new AWSJavaMailTransport(session, null);
t.connect();
t.sendMessage(mimeMessage, null);
t.close();
}
但我有个例外说,
线程“main”javax中出现异常。邮政SendFailedException:无法发送电子邮件;嵌套的例外是:com。亚马逊。服务。简单邮件。模型MessageRejectedException:未验证电子邮件地址。以下身份未通过US-EAST-1区域的登记
我没有得到任何解决方案,stackOverflow家族的任何建议都会有很大帮助。
线程“main”javax中出现异常。邮政SendFailedException:无法发送电子邮件;嵌套的例外是:com。亚马逊。服务。简单邮件。模型MessageRejectedException:未验证电子邮件地址。以下身份未通过US-EAST-1区域的登记
亚马逊告诉您,您必须验证您发送的电子邮件地址。如果来自和发送的电子邮件地址没有经过验证,则发送电子邮件失败。
下面是发送电子邮件的V2 SES代码...
public class SendMessage {
// This value is set as an input parameter
private static String SENDER = "";
// This value is set as an input parameter
private static String RECIPIENT = "";
// This value is set as an input parameter
private static String SUBJECT = "";
// The email body for recipients with non-HTML email clients
private static String BODY_TEXT = "Hello,\r\n" + "Here is a list of customers to contact.";
// The HTML body of the email
private static String BODY_HTML = "<html>" + "<head></head>" + "<body>" + "<h1>Hello!</h1>"
+ "<p>Here is a list of customers to contact.</p>" + "</body>" + "</html>";
public static void main(String[] args) throws IOException {
if (args.length < 3) {
System.out.println("Please specify a sender email address, a recipient email address, and a subject line");
System.exit(1);
}
// snippet-start:[ses.java2.sendmessage.main]
SENDER = args[0];
RECIPIENT = args[1];
SUBJECT = args[2];
try {
send();
} catch (IOException | MessagingException e) {
e.getStackTrace();
}
}
public static void send() throws AddressException, MessagingException, IOException {
Session session = Session.getDefaultInstance(new Properties());
// Create a new MimeMessage object
MimeMessage message = new MimeMessage(session);
// Add subject, from and to lines
message.setSubject(SUBJECT, "UTF-8");
message.setFrom(new InternetAddress(SENDER));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(RECIPIENT));
// Create a multipart/alternative child container
MimeMultipart msgBody = new MimeMultipart("alternative");
// Create a wrapper for the HTML and text parts
MimeBodyPart wrap = new MimeBodyPart();
// Define the text part
MimeBodyPart textPart = new MimeBodyPart();
textPart.setContent(BODY_TEXT, "text/plain; charset=UTF-8");
// Define the HTML part
MimeBodyPart htmlPart = new MimeBodyPart();
htmlPart.setContent(BODY_HTML, "text/html; charset=UTF-8");
// Add the text and HTML parts to the child container
msgBody.addBodyPart(textPart);
msgBody.addBodyPart(htmlPart);
// Add the child container to the wrapper object
wrap.setContent(msgBody);
// Create a multipart/mixed parent container
MimeMultipart msg = new MimeMultipart("mixed");
// Add the parent container to the message
message.setContent(msg);
// Add the multipart/alternative part to the message
msg.addBodyPart(wrap);
try {
System.out.println("Attempting to send an email through Amazon SES " + "using the AWS SDK for Java...");
Region region = Region.US_WEST_2;
SesClient client = SesClient.builder().region(region).build();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
message.writeTo(outputStream);
ByteBuffer buf = ByteBuffer.wrap(outputStream.toByteArray());
byte[] arr = new byte[buf.remaining()];
buf.get(arr);
SdkBytes data = SdkBytes.fromByteArray(arr);
RawMessage rawMessage = RawMessage.builder()
.data(data)
.build();
SendRawEmailRequest rawEmailRequest = SendRawEmailRequest.builder()
.rawMessage(rawMessage)
.build();
client.sendRawEmail(rawEmailRequest);
} catch (SdkException e) {
e.getStackTrace();
}
// snippet-end:[ses.java2.sendmessage.main]
}
}
// snippet-end:[ses.java2.sendmessage.complete]
我有一个Outlook.com的电子邮件帐户。我希望我的Java应用程序能够使用JavaMail从该电子邮件帐户发送电子邮件。为此,我通过OAuth授予了我的应用程序访问权限。 我已经能够使用msgshow中提供的精彩示例应用程序通过IMAP成功连接.java。但是,我正在尝试通过SMTP通过我的 Outlook.com 电子邮件帐户发送电子邮件,但我没有任何运气。我尝试过同时使用msgsend.
我需要通过我的应用程序发送一封电子邮件,比如使用带有OAuth的javamail API,但我需要如何使用我在下面添加的代码。 我的代码:
我想用Java发送一封邮件,但使用我在http://www.tutorialspoint.com/Java/java_sending_email.htm找到的这篇泰文教程是行不通的。 这里是我的主要方法 我有以下错误: javax.mail.MessagingException:无法连接到SMTP主机:localhost,端口:25;嵌套异常为:java.net.connectException:
本文向大家介绍基于java使用JavaMail发送邮件,包括了基于java使用JavaMail发送邮件的使用技巧和注意事项,需要的朋友参考一下 一、邮件的相关概念 邮件协议。主要包括: SMTP协议:Simple Mail Transfer Protocol,即简单邮件传输协议,用于发送电子邮件 POP3协议:Post Office Protocol 3,即邮局协议的第三个版本,用于接收邮件 IM
这是我发送邮件的代码 我在tomcat的lib文件夹中添加了和。我将eclipse与Tomcat7、JRE7和Struts2一起使用。通过Java发送邮件时出现以下控制台错误:
我正在使用发送电子邮件,但得到的错误是 我正在做的是,我有一个类作为。 上面的类有一个静态方法,-它将SMTP服务器设置和消息详细信息作为参数。 我把SMTP服务器设置放在我的web.xml文件中,但不知道出了什么问题 我的类 } 这是我的网站。xml文件 这是我的servlet类 我在做正确的事情,但不知道问题是什么 如果我在gmail中启用较少的安全应用程序设置,那么它的工作正常,我不认为这是