javascript - 如何通过电子邮件发送屏幕截图?
问题描述
我有一些捕获容器的代码。为了捕捉我正在使用'html2canvas'。我想要做的是通过电子邮件发送这个捕获。对于电子邮件,我使用的是“smtpjs”。如何通过电子邮件发送捕获?这可以在不必保存捕获的情况下完成吗?
这是我的代码:
<html>
<head>
<script src="https://html2canvas.hertzen.com/dist/html2canvas.js"></script>
<script src="https://html2canvas.hertzen.com/dist/html2canvas.min.js"></script>
<script src="https://smtpjs.com/v3/smtp.js"></script>
</head>
<body>
<div class="source-container" id="test2" style="background-
color:red;width:300px;height:300px;float:left;"></div>
<br/>
<input type='button' id='but_screenshot' value='Take screenshot' onclick='screenshot();'><br/>
<input type='button' id='but_screenshot' value='Send' onclick='email();'><br/>
<!-- Script -->
<script>
function screenshot() {
html2canvas(document.querySelector("#test2")).then(canvas => {
document.body.appendChild(canvas)
});
}
function email() {
Email.send({
SecureToken: "0968b-d55-45-b4a8-5d6370",
To: 'test@gmail.com',
From: "test@gmail.com",
Subject: "This is the subject",
Body: "iuwaehfiuwreu"
}).then(
message => alert(message)
);
}
</script>
</body>
</html>
解决方案
开发提示:如果您想以 base64 格式发送附件,而不是将“路径”作为属性传递,而是以 dataUri 格式发送“数据”属性。以 dataUri 格式。(示例即将推出!)
例子:
Email.send({
SecureToken : "C973D7AD-F097-4B95-91F4-40ABC5567812",
To : 'them@website.com',
From : "you@isp.com",
Subject : "This is the subject",
Body : "And this is the body",
Attachments : [
{
name : "smtpjs.png",
data : canvas.toDataURL()
}]
}).then(
message => alert(message)
);
推荐阅读
- python - 如何将cookies导出到txt文件?
- python - Tkinter 顶层窗口自适应大小与屏幕
- javascript - 一种从外部调用 React 组件方法的方法(使用它的状态和道具)
- python - 选择多行在多列中包含特殊值
- jmeter - Jmeter非gui模式上报:如何打印api的请求和响应?
- c - CS50 拼写器卸载功能的最佳设计(两个选项之间)(C 语言)
- python - 如何用另一个numpy数组逐个元素地减去一个numpy数组
- django - 在 Django 中将日期时间转换为本地时间
- laravel - Laravel Sanctum SPA 验证不同的用户表
- azure - 如何从 Microsoft Azure 转出域?