java实现邮件发送功能_电子邮件是啥

java实现邮件发送功能_电子邮件是啥我使用sendgrid发送电子邮件,使用以下代码工作正常但它没有附件.packagesendgrid;importcom.sendgrid.Content;importcom.sendgrid.Email;importcom.sendgrid.Mail;importcom.sendgrid.Method;importcom.sendgrid.Request;importcom.sen…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

我使用sendgrid发送电子邮件,使用以下代码工作正常

但它没有附件.

package sendgrid;

import com.sendgrid.Content;

import com.sendgrid.Email;

import com.sendgrid.Mail;

import com.sendgrid.Method;

import com.sendgrid.Request;

import com.sendgrid.Response;

import com.sendgrid.SendGrid;

import java.io.IOException;

public class SendEmail {

public static void main(String[] args) throws IOException {

Email from = new Email(“test@example.com”);

String subject = “Hello World from the SendGrid Java Library!”;

Email to = new Email(“shareef@gmail.com”);

Content content = new Content(“text/plain”, “Hello, Email!”);

Mail mail = new Mail(from, subject, to, content);

SendGrid sg = new SendGrid(“SG.rIEh84OgQBybYEJcOMie1wd.AZqqdWNYXbOqTarUJcG-iSg0UtHJtCto4oe6tVzn6es”);

Request request = new Request();

try {

request.method = Method.POST;

request.endpoint = “mail/send”;

request.body = mail.build();

Response response = sg.api(request);

System.out.println(response.statusCode);

System.out.println(response.body);

System.out.println(response.headers);

} catch (IOException ex) {

throw ex;

}

}

}

但我需要的是发送附件,所以我搜索github源和Web文档API,由于某种原因没有javadocs但有一个例子GitHub sendgrid所以我尝试,直到它工作,我缩小了一些例外和响应代码,起初我是未经授权的禁止,它更好地响应202,意味着有效和排队(check here)这里任何方式是我的代码,发送电子邮件和附件,但当你打开附件的零大小,并说不能打开或预览文件!

package sendgrid;

import com.sendgrid.Attachments;

import com.sendgrid.Content;

import com.sendgrid.Email;

import com.sendgrid.Mail;

import com.sendgrid.MailSettings;

import com.sendgrid.Method;

import com.sendgrid.Request;

import com.sendgrid.SendGrid;

import com.sendgrid.Setting;

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

public class SendEmailAttachmentV2 {

public static void main(String[] args) throws IOException {

sendmail();

}

// Fully populated Mail object

public static void sendmail() throws IOException {

com.sendgrid.Response response1;

Email from = new Email(“shareef@gmail.com”);

String subject = “Hello World from the SendGrid Java Library!”;

Email to = new Email(“shareef@gmail.com”);

Content content = new Content(“text/plain”, “Hello, Email!”);

Mail mail = new Mail(from, subject, to, content);

File file = new File(“C:\\x.png”);

byte[] fileData = null;

try {

fileData = org.apache.commons.io.IOUtils.toByteArray(new FileInputStream(file));

} catch (IOException ex) {

}

Attachments attachments3 = new Attachments();

attachments3.setContent(new String(fileData, 0, (int) file.length(), “UTF-8”));

attachments3.setType(“image/png”);//”application/pdf”

attachments3.setFilename(“x.png”);

attachments3.setDisposition(“attachment”);

attachments3.setContentId(“Banner”);

mail.addAttachments(attachments3);

MailSettings mailSettings = new MailSettings();

Setting sandBoxMode = new Setting();

sandBoxMode.setEnable(true);

mailSettings.setSandboxMode(sandBoxMode);

SendGrid sg = new SendGrid(“SG.1Hg78VK0TJ6kexUnByZUYg.LAa5A4GufssZ9lpPQdV6PcZCY6SZ9Xq6LvqfMRG0wesKw”);

Request request1 = new Request();

try {

request1.method = Method.POST;

request1.endpoint = “mail/send”;

request1.body = mail.build();

response1 = sg.api(request1);

System.out.println(response1.statusCode);

System.out.println(response1.body);

System.out.println(response1.headers);

} catch (IOException ex) {

System.out.println(ex);

}

}

}

仅供参考:使用从sendgrid控制台生成的生成的API密钥

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/206687.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux系统带界面,linux系统界面详情介绍[通俗易懂]

    linux系统带界面,linux系统界面详情介绍[通俗易懂]Linux作为一款免费的、开源的操作系统,linux系统界面也被广大开发者根据自身的喜好和审美设计的五花八门,有些Linux系统界面被开发者制作的相当精致,具有很强的观赏性和立体感,让人叹为观止,下面我们系统的介绍一下Linux系统界面。简单地说,Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的…

    2022年5月14日
    64
  • html中颜色的编码,css颜色编码对照表[通俗易懂]

    html中颜色的编码,css颜色编码对照表[通俗易懂]css颜色编码对照表2018-09-14颜色名十六进制值RGB值PearlyGates#FFFFF2#fffff2PaleOlive#FBF5E6#fbf5e6white#FFFFFF#ffffffFrostedLime#F6F9ED#f6f9edWhiteOrchid#FDFDF0#fdfdf0GreenVeil#EEF3E2#eef3e2GrayClif…

    2022年5月17日
    61
  • cannot open image file 1:-1_linux C

    cannot open image file 1:-1_linux C关于使用《FirstOrderMotionModelforImageAnimation》Github项目中所遇到的OSError:Failedtoopenfileb’C:\\Users\\\xe6\x96\x87…\\AppData\\Local\\Temp\\scipy-xxxxx报错原因:路径中包含中文解决方案:修改计算机环境变量中的Temp文件夹路径OSError:Failedtoopenfileb’C:\Users\\xe6\x96\x87…\AppDa

    2025年11月6日
    3
  • 关于性能测试的这点事,干货来袭「建议收藏」

    关于性能测试的这点事,干货来袭

    2022年4月3日
    43
  • 职称计算机考试模块教程怎么用,【职称计算机考试模块怎么选择?】- 环球网校…

    职称计算机考试模块教程怎么用,【职称计算机考试模块怎么选择?】- 环球网校…【摘要】环球网校分享的“职称计算机考试模块怎么选择?”,以下介绍了职称计算机考试模块选择相关资料,希望对大家有帮助,更多资料敬请关注环球网校职称计算机考试频道,网校会及时更新考试资讯……问:职称计算机考试模块怎么选择?答:全国职称计算机考试模块一共设置有13类24个模块,可供各位考生选择一般评聘高级职务人员自选4个模块,评聘中级职务人员自选3个模块,评聘初级职务人员自选2个模块。在职称计算机考试模…

    2022年6月2日
    36
  • java实现10种排序算法[通俗易懂]

    java实现10种排序算法[通俗易懂]1.冒泡排序(BubbleSort)importjava.util.Arrays;//冒泡排序publicclassBubbleSort_01{ publicstaticvoidmain(String[]args){ inta[]={3,44,38,5,47,15,36,26,27,2,46,4,19,50,48}; //记录比较次数 intcount=0; //i=0,第一轮比较 for(inti=0;i<a.length-1;i

    2022年6月21日
    27

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号