SMTP邮件发送图片-如何在github中存储图片并访问

之前写了一篇文章 Go:实现SMTP邮件发送订阅功能(包含163邮箱、163企业邮箱、谷歌gmail邮箱),实现了通过邮箱服务来发送邮件,但都是文字内容,要是想实现邮件发送图片,就需要将图片放到公网可访问的服务器,这里用了骚操作。

在这里插入图片描述

目录

  • 需求背景
  • 需求分析
  • 确定方案
  • 操作流程
    • 新建public仓库
    • 编写readme.md说明需求
    • 创建文件夹
    • 上传图片到文件夹
    • 复制图片链接
    • 直接使用图片链接即可

需求背景

  • 实现邮件群发功能,来发送项目的周报及一些重大事件的更新
  • 邮件内容会包含图片等信息,也需要展示

示例如下
在这里插入图片描述


需求分析

分析需求可知

  1. 邮件群发功能好搞,这里就参考之前的博客,就可以实现;
  2. 邮件包含的图片需要展示,其实只要能满足图片可以被公网访问即可;
  3. 因为我们做的项目是开源的,邮件发送图片也不会很多,所以也无需专门为此提供一个图片存储服务;
  4. 能够快速提供此功能且不花钱最好;

确定方案

要想图片在邮件中展示,要么是能够使用图片存储服务,要么是GitHub白嫖。那么毋庸置疑,我们选择做嫖客。

操作流程

新建public仓库

1. 创建新仓库:Create a new repository
2. 信息填写:参考下图填写相关信息
3. 确认创建

如下图,主要是选择public公开的方式,不然别人也看不到
在这里插入图片描述

编写readme.md说明需求

readme.md文档的描述很重要,尤其是做开源项目,readme.md是一个项目的门脸,更是大家了解项目的开端

创建文件夹

创建不同的文件夹目录,来便于后续图片资源的分类

上传图片到文件夹

上传自己需要的图片到文件夹中,我是clone到本地之后,再进行图片上传的。这里就不截图展示了,文章最上面的AI图片可以借大家去玩着用

水墨巾帼

复制图片链接

在github上打开图片,复制地址栏上的url,得到 如:https://github.com/项目名称/路径/***.jpeg/png

直接使用图片链接即可

这里我是有邮件前端代码的,所以就留了占位符,每次发送的邮件不同,直接替换图片的url即可

或者我们写博客使用markdown语法插入图片也可以

![图片描述](图片地址)

完活!


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/158386.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ssm银行账目管理系统-计算机毕设 附源码 93216

ssm银行账目管理系统的设计与实现 摘 要 大数据时代下,数据呈爆炸式地增长。为了迎合信息化时代的潮流和信息化安全的要求,利用互联网服务于其他行业,促进生产,已经是成为一种势不可挡的趋势。在银行账目管理的要求下,…

HTML、CSS和JavaScript,实现换肤效果的原理

这篇涉及到HTML DOM的节点类型、节点层级关系、DOM对象的继承关系、操作DOM节点和HTML元素 还用到HTML5的本地存储技术。 换肤效果的原理:是在选择某种皮肤样式之后,通过JavaScript脚本来加载选中的样式,再通过localStorage存储。 先来回忆…

Django中的FBV和CBV

一、两者的区别 1、在我们日常学习Django中,都是用的FBV(function base views)方式,就是在视图中用函数处理各种请求。而CBV(class base view)则是通过类来处理请求。 2、Python是一个面向对象的编程语言…

MSQL系列(十二) Mysql实战-为什么索引要建立在被驱动表上

Mysql实战-为什么索引要建立在被驱动表上 前面我们讲解了BTree的索引结构,也详细讲解下 left Join的底层驱动表 选择原理,那么今天我们来看看到底如何用以及如何建立索引和索引优化 开始之前我们先提一个问题, 为什么索引要建立在被驱动表上…

pycharm 断点调试python Flask

以flask框架为例,其启动命令为 python app.py runserver 后面需要拼接runserver 点击开始断点 参考:https://www.cnblogs.com/bigtreei/p/14742015.html

算法通过村第十八关-回溯|青铜笔记|什么叫回溯(中篇)

文章目录 前言回溯的核心问题撤销操作解释总结 前言 提示:阳光好的时候,会感觉还可以活很久,甚至可以活出喜悦。 --余秀华 回溯是非常重要的算法思想之一,主要解决一些暴力枚举也搞不定的问题(这里埋个坑💣…

SSM校园设备管信息管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

选题理由 随着计算机网络及多媒体技术的广泛应用,互联网已成为高校办学的基础设施和必备条件,基于互联网的高校信息管理越来越综合化,越来越多的教学管理、行政管理工作将架构在互联网上,互联网正在变为学校实施教学、科研和管理…

数字孪生技术与VR:创造数字未来

在当今数字化浪潮中,数字孪生和虚拟现实(VR)技术是两大亮点,它们以独特的方式相互结合,为各个领域带来了创新和无限可能。本篇文章将探讨数字孪生与VR之间的关系,以及它们如何共同开辟未来的新前景。 数字…

mysql、clickhouse时间日期加法

mysql 在’2023-10-27 23:59:59’上增加5秒: SELECT DATE_ADD(2023-10-27 23:59:59, INTERVAL 5 second);clickhouse SELECT date_add(SECOND, 3, toDate(2018-01-01 00:00:00));

unity 点击3D物体

1. 在场景中添加事件系统 2. 为主相机添加射线检测 3. 为物体挂载以下脚本,物体必须带碰撞体 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems;// 挂在物体上,需要添加碰撞体 public …

win10-mmgen安装/cyclegan运行问题记录

mmconda环境: conda: CUDA 11.3 conda install pytorch1.11.0 torchvision0.12.0 torchaudio0.11.0 cudatoolkit11.3 -c pytorch pip install mmcv-full1.5.0 -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.11.0/index.html 成功运行 c…

Linux shell编程学习笔记20:case ... esac、continue 和break语句

一、case ... esac语句说明 在实际编程中,我们有时会请到多条件多分支选择的情况,用if…else语句来嵌套处理不烦琐,于是JavaScript等语言提供了多选择语句switch ... case。与此类似,Linux Shell脚本编程中提供了case...in...esa…