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密钥

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • PyCharm激活码永久有效PyCharm2021.3.1激活码教程-持续更新,一步到位

    PyCharm激活码永久有效PyCharm2021.3.1激活码教程-持续更新,一步到位PyCharm激活码永久有效2021.3.1激活码教程-Windows版永久激活-持续更新,Idea激活码2021.3.1成功激活

  • 人脸对齐:DCNN级联关键点检测2013

    人脸对齐:DCNN级联关键点检测2013近期学习关键点检测相关内容,基于CNN的方法已经替代以往经典的方法(ASM,AAM等),于是乎得看看CNN是如何应用到关键点检测上的。创新点: 1.将CNN应用到人脸关键点检测当中 2.提出级联CNN,这个级联CNN的level-1有一个非常重要的作用,就是解决了传统人脸关键点检测时都会遇到的一个问题——关键点初始化,传统参数化方法(ASM,AAM等)若初始化不当,容易陷入局部最优。 虽然作者没…

  • SpringSecurity(十三)—-基于注解的访问控制

    SpringSecurity(十三)—-基于注解的访问控制

    2020年11月12日
  • 数据分析的具体案例(通过数据分析得到什么)

    今天给大家分享一个数据分析案例:线下连锁水果店销售数据分析案例,分析过程我也会以类动图的方式呈现给大家,真正意义上做到收藏即学会。目录1案例背景2问题确认与指标拆解题3问题解决思路4案例实操4.1利用分组分析找到亏损店铺做营销优化,实验验证结论4.2运用对比分析法解决哪类产品销售好的问题?4.3利用矩阵关联法找到销量好和利润高的品类4.4运用趋势分析法分析水果总需求如何?5结论分析报告1案例背景果多吃水果连锁超市是华北地区的热门线下水果超市。该超市覆盖华北5个省份,且在京津冀地区门

  • vbs代码未结束的字符串常量[通俗易懂]

    vbs代码未结束的字符串常量问题描述:  执行vbs脚本时提示“vbs代码未结束的字符串常量”原因:  vba的BUG,在连接字符串的最后一个字符是单个或多个“行”字(我这里是把“行”字删除就不报错)或者其他原因,会出现未结束的字符串常量解决:  这里使用的是notepadd++在编码或者格式里面将文件编码改成“转为ANSI编码”解决问题…

  • JavaScript数组方法详解

    JavaScript数组方法详解JavaScript数组方法详解JavaScript中数组的方法种类众多,在ES3-ES7不同版本时期都有新方法;并且数组的方法还有原型方法和从object继承的方法,这里我们只介绍数组在每个版本中

发表回复

您的电子邮箱地址不会被公开。

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