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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Mybatis常用jdbcType记录[通俗易懂]

    Mybatis常用jdbcType记录[通俗易懂]前言:Java常用的数据类型:https://blog.csdn.net/zhangyong01245/article/details/101310236Mysql常用的数据类型:https://blog.csdn.net/zhangyong01245/article/details/101157289常用数据类型表:MysqljdbcTypeJavatiny…

    2022年10月20日
    2
  • java开发是什么_java开发到底是做什么的

    java开发是什么_java开发到底是做什么的1java开发到底是做什么的在互联网迅猛发展的时代,而我们如果对互联网一无所知,那就相当于文盲。所以很多人都想去了解它,去学习他。而作为互联网的产物——java,是一门非常不错的技术,学精通之后,你的未来不会再担心就业。那么下面小编给大家说说java开发到底是做什么的,希望能对你有些帮助。桌面级应用:尤其是需要跨平台的桌面级应用程序。桌面级应用:简单的说就是主要功能都在我们本机上运行的程序,比如w…

    2022年7月9日
    17
  • pycharm永久激活码2021【2021.7最新】

    (pycharm永久激活码2021)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlMLZPB5EL5Q-eyJsaWNlbnNlSW…

    2022年3月21日
    86
  • ES6数组去重的三个简单办法

    ES6数组去重的三个简单办法ES6数组去重的三个简单办法简单说一下利用ES6实现数组去重的三个办法。第一种:利用Map对象和数组的filter方法贴上相关代码打印后的结果通过打印我们发现,确实实现了我们想要的效果。那么下面简单来解释一下。1.Map对象是ES6提供的一个新的数据结构,其中has的办法是返回一个布尔值,表示某个值是否存在当前的Mp对象之中,set的办法是给Map对象设置key/value。2…

    2022年6月13日
    62
  • 《学习笔记10》——JavaScript三目运算符的使用[通俗易懂]

    《学习笔记10》——JavaScript三目运算符的使用[通俗易懂]三目运算符是多种语言中,都有的一种语法,这里着重讲解JavaScript里的用法。1.判断基本语法:expression?sentence1:sentence2当expression的值为true时,执行sentence1,否则执行sentence2,请看如下代码:3>0?2:1等价于:if(3>0){return2}else{return1}意思是,当3>0成立时,返回2,否则返回1

    2022年6月22日
    34
  • 基于Qt的音乐播放器(一)添加音频文件,播放音乐,更新进度条

    基于Qt的音乐播放器(一)添加音频文件,播放音乐,更新进度条实现音频文件对话框(QFileDialog类)getOpenFileNames(this,”Selectoneormorefilestoopen”,”/home”,”Images(*.png*.xpm*.jpg)”);实现音乐播放(QMediaPlayer类/QMediaPlaylist类)实现进度条更新以及文件时长显示

    2022年5月16日
    41

发表回复

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

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