gpt4 book ai didi

java - 发送带有多个附件和html正文的电子邮件,其中可能包含java中的图像

转载 作者:行者123 更新时间:2023-12-01 17:27:09 25 4
gpt4 key购买 nike

我想将带有多个附件的电子邮件发送给多个收件人/多个抄送收件人/密件抄送收件人,其中包含可能包含图像的格式化 html 内容。

如何做同样的事情?

请提出建议。

最佳答案

这是从我的本地计算机将 yahoo ID 的电子邮件发送到任何其他 ID 的工作示例。

package myWorkingFiles;

import org.apache.commons.mail.DefaultAuthenticator;
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.HtmlEmail;
import org.apache.commons.mail.MultiPartEmail;

/**
*
* @author xyz
*/
public class YahooEmailWorkingWithAttachment {

public static void main(String[] args) {
String myEmailId = "zz@yahoo.com";
String myPassword = "myPass";
String senderId = "sfdsdf@gmail.com";
String ccId = "dddd@yahoo.com";
String bccId = "ffff@yahoo.com";
try {
MultiPartEmail email = new HtmlEmail();
email.setSmtpPort(587);
email.setAuthenticator(new DefaultAuthenticator(myEmailId, myPassword));
email.setDebug(true);
email.setHostName("smtp.mail.yahoo.com");
email.addTo(senderId);
email.addCc(ccId);
email.addBcc(bccId);
email.setFrom(myEmailId);
email.setSubject("Test Email");
email.setMsg("<font face='verdana' size='3'>Here is the test email in HTML format "
+ "<table>"
+ "<tr><th>id</th><th>Name</th></tr>"
+ "<tr><th>1</th><th>Name 1</th></tr>"
+ "<tr><th>2</th><th>Name 2</th></tr>"
+ "<tr><th>3</th><th>Name 3</th></tr>"
+ "<tr><th>4</th><th>Name 4</th></tr>"
+ "</table>"
+ "</font>");

// add the attachment
EmailAttachment attachment = new EmailAttachment();
attachment.setPath("/Users/alkandari/Desktop/SMART/Fahim/test_small.pdf");
attachment.setDisposition(EmailAttachment.ATTACHMENT);
email.attach(attachment);

attachment = new EmailAttachment();
attachment.setPath("/Users/alkandari/Desktop/SMART/Fahim/test.png");
attachment.setDisposition(EmailAttachment.ATTACHMENT);
email.attach(attachment);
System.out.println("EmailAttachment.ATTACHMENT==" + EmailAttachment.ATTACHMENT);

// send the email
email.send();
System.out.println("email=====" + email + "==");
System.out.println("Mail sent!");
} catch (Exception e) {
System.out.println("Exception :: " + e);
}
}
}

如果您想从任何其他地方发送,则需要在以下两个位置进行更改

email.setSmtpPort(587);
email.setHostName("smtp.mail.yahoo.com");
<小时/>

编辑 1

我不确定,但如果您想将图像设置为电子邮件的背景,那么我相信您需要在服务器上实时拍摄图像,然后提供 <img src="server.com/images/myImage.png" /> 的服务器路径

<小时/>

编辑2

要添加更多抄送,您需要添加 N 条抄送语句,如下所示。

email.addCc("id1@test.com");
email.addCc("id2@test.com");
email.addCc("id3@test.com");
email.addCc("id4@test.com");

我不确定email.addCc("id1@test.com, id2@test.com, id3@test.com"); 。我认为这不会起作用。你可以尝试一下。

关于java - 发送带有多个附件和html正文的电子邮件,其中可能包含java中的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14021460/

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