使用内联附件和非内联附件创建HTML电子邮件的正确方法是什么?
另外,请告诉我仅使用内联附件和仅使用非内联附件的内容类型.
到现在为止我这样做了:
MIME-Version: 1.0
[some more headers]
Content-type: multipart/mixed;
boundary="myboundary"
--myboundary
Content-Type: text/html; charset=ISO-8859-15
Content-Transfer-Encoding: 7bit
[html with img cid:my_image]
--myboundary
Content-Type: image/png; name="my_image.png"
Content-Transfer-Encoding: base64
Content-ID: <my_image>
Content-Disposition: inline; filename="my_image.png"
[base64 image data]
--myboundary
Content-type: application/pdf; name="my_pdf.pdf"
Content-length: 1150
Content-Transfer-Encoding: base64
Content-ID: <my_pdf.pdf>
Content-Disposition: attachment; filename="my_pdf.pdf"
[base64 pdf data]
--myboundary--
Run Code Online (Sandbox Code Playgroud)
邮件看起来很好看.但是我注意到Thunderbird没有显示我的内嵌图像,而是显示了2个附件(我的图像和我的PDF).所以我做了一些调试,发现内联图像应该通过发送Content-Type: multipart/related
.
所以我改变了Content-Type: multipart/mixed
对Content-Type: multipart/related
和Thunderbird显示它正确的:图像是HTML和一个附件所示,PDF所示.
我不确定这是否是正确的解决方案,虽然它似乎有效.是否正确使用multipart/related
(如果我有内联和非内联附件,如果我只有内联附件,如果我只有非内联附件)?
或者是使用一个类型边界相关的拆分内联附件和另一个类型混合边界以拆分非内联附件的正确方法?
我希望你能为我提供样品
我在本地克隆了一个私有的GitHub仓库(我不能在这里分享).我想将此repo中的子文件夹拆分为新的子树仓库.我正在按照这些说明使用Git子树进行存储库分离(在将代码拆分到自己的存储库中).
我的具体命令是:
> git subtree split -P .\plugins\rg-feed-client -b rg-feed-client
Run Code Online (Sandbox Code Playgroud)
但它失败了,正好有24个"断言失败"错误消息,如下所示:
1/ 26 (0)2/ 26 (1)assertion failed: [ plugins/rg-feed-client = .\plugins\rg-fee
3/ 26 (2)assertion failed: [ plugins/rg-feed-client = .\plugins\rg-feed-client ]
...
26/ 26 (25)assertion failed: [ plugins/rg-feed-client = .\plugins\rg-feed-client ]
Run Code Online (Sandbox Code Playgroud)
如果我尝试任何其他子文件夹,完全相同.我不知道这里可能有什么问题......帮助!
我的仓库有2个遥控器:原点,以及我添加到我的仓库中的现有子树的遥控器.
我的团队有一个设置,其中我们跟踪 DVC 中的数据集和模型,并有一个 GitLab 存储库用于跟踪我们的代码和 DVC 元数据文件。我们的开发 GitLab 管道中有一项工作(在每次推送合并请求时运行),其目标是检查以确保开发人员记得运行dvc push
以保持 DVC 远程存储最新。目前,我们执行此操作的方法是dvc pull
在 GitLab 运行程序上运行,该运行程序将失败并显示错误,告诉您未找到哪些文件(新文件或现有文件的最新版本)。
这种方法的缺点是,我们将存储在 DVC 中的全部数据加载到 GitLab 运行器上,并且我们遇到了内存不足的问题,更不用说下载所有数据的运行时间很长了。由于对象的路径和 md5 哈希存储在 DVC 元数据文件中,我认为这就是 DVC 需要能够回答“远程存储系统是否是最新的”问题的所有信息。
看起来dvc status
与我所要求的类似,但比较了缓存或工作区和远程存储。换句话说,它要求文件实际存在于进行调用的任何文件系统上。
有没有什么方法可以实现我上面列出的目标(“通知开发人员他们需要运行dvc push
”)而不从 DVC 中提取所有内容?
假设有一个带有 master 的遥控器以及一个 dev 分支,我将其添加到子树中:
$ git remote add rem [URL]
$ git fetch rem
$ git subtree add -P=./sub rem/dev
Run Code Online (Sandbox Code Playgroud)
现在每次我运行时git subtree pull -P sub
,分支 rem/dev 都会被获取并合并到 sub 中。好的
但后来我忘记了我是从 master 还是 dev 分支添加的。除了通过比较 git 日志来推断之外,git 有没有办法告诉我 rem 的哪个分支是 sub/tracking 中的子树?
子树很棘手...
git ×3
dvc ×1
email ×1
git-branch ×1
git-subtree ×1
github ×1
gitlab ×1
mime ×1
subtree ×1
windows ×1