我正在为我的班级制作一张表来记录他们每天所做的事情。
在本周末,人们需要通过电子邮件将文件发送给他们的老师。
有没有办法使用JavaScript自动将当前文件附加到电子邮件?
感谢。
编辑:哦,这也必须与IE7和Outlook 2007一起使用。
答案 0 :(得分:6)
有没有办法使用JavaScript自动将当前文件附加到电子邮件?
不,没有。 JavaScript完全在浏览器中运行,无法访问本地文件。可以使用mailto:
链接启动默认电子邮件客户端,并且可以预设主题和邮件正文。但除此之外什么都没有。
答案 1 :(得分:1)
实际上,如果您希望它能像他描述的那样使用MS技术,那么您可以。您可以使用ActiveX与Outlook进行交互。请参阅下面的问题。
答案 2 :(得分:0)
尝试此代码。首先,您必须在Google云端控制台中创建应用并从库中启用Gmail API。获取应用的凭据。点击凭据并在授权重定向URI的位置保持此链接{{3然后在另一个标签中打开此链接,打开此链接https://developers.google.com/oauthplayground点击右侧的设置符号。勾选复选框(即使用您自己的OAuth凭据)之后您必须提供您的clientId和clientSecret.And在左侧的同一时间有一个带有占位符的文本框,如输入您自己的范围,保留此链接https://developers.google.com/oauthplayground/并单击授权API然后单击代币的Exchange授权代码然后您将获得您的refreshToken和accessToken将这两个保存在你的代码中。希望这对你有帮助..
const nodemailer=require('nodemailer');
const xoauth2=require('xoauth2');
var fs=require('fs');
var transporter=nodemailer.createTransport({
service:'gmail',
auth:{
type: 'OAuth2',
user:'Sender Mail',
clientId:'Your_clientId',//get from Google Cloud Console
clientSecret:'Your clientSecret',//get from Google Cloud Console
refreshToken:'Your refreshToken',//get from https://developers.google.com/oauthplayground
accessToken:'Tor accessToken'//get from https://developers.google.com/oauthplayground
},
});
fs.readFile("filePath",function(err,data){
var mailOptions={
from:' <Sender mail>',
to:'receiver mail',
subject:'Sample mail',
text:'Hello!!!!!!!!!!!!!',
attachments:[
{
'filename':'filename.extension',//metion the filename with extension
'content': data,
'contentType':'application/type'//type indicates file type like pdf,jpg,...
}]
}
transporter.sendMail(mailOptions,function(err,res){
if(err){
console.log('Error');
}
else{
console.log('Email Sent');
}
})
});