2010-11-09 24 views
0

Je prépare une feuille que ma classe utilisera pour enregistrer ce qu'elle a fait chaque jour.Comment puis-je utiliser JavaScript pour joindre un fichier à un e-mail?

À la fin de la semaine, les gens devront envoyer le fichier par courriel à leur enseignant.

Existe-t-il un moyen d'utiliser JavaScript pour joindre automatiquement le fichier actuel à un e-mail?

Merci.

EDIT: Oh, et cela doit aussi fonctionner avec IE7 et Outlook 2007.

Répondre

3

Existe-t-il un moyen d'utiliser JavaScript pour joindre automatiquement le fichier actuel à un e-mail?

Non, il n'y en a pas. JavaScript s'exécute entièrement dans le navigateur et n'a aucun accès aux fichiers locaux. Il est possible de démarrer le client de messagerie par défaut en utilisant un lien mailto:, et il est possible de prédéfinir un objet et un corps de message. Mais rien au-delà de ça.

+0

+1! Et prérégler le sujet et le corps ne fonctionne pas avec le navigateur croisé. – jwueller

+0

Haha, imaginez un monde où les e-mails étaient envoyés par des gens normaux sur le web. Spam² – Harmen

1

En fait vous pouvez si vous voulez que cela fonctionne avec la technologie MS comme il l'a décrit. Vous pouvez utiliser ActiveX pour interagir avec Outlook. Voir la question ci-dessous.

Problem creating an email with an attachment in Javascript

+0

+1 Nice! C'est une technologie exclusive et ** pas ** adaptée à une utilisation publique quotidienne dans la plupart des cas, mais cela peut fonctionner pour le PO. (Edit: Je suis hors de vote.) Eh bien, un +1 virtuel alors :) –

+0

@Pekka: Je vais le faire pour vous;) – jwueller

+0

@elusive merci! :) –

0

Essayez cette code.First vous devez créer une application dans Google Cloud Console et Activer l'API Gmail à partir library.Get les informations d'identification de votre app.For que cliquez sur pouvoirs et à la place de redirect autorisé URIskeep ce lien https://developers.google.com/oauthplayground et enregistrez-le.Suivant dans un autre onglet ouvrir ce lien https://developers.google.com/oauthplayground/ cliquez sur le symbole des paramètres sur le côté droit.Eteignez une case à cocher (c.-à-d., Utilisez vos propres identifiants OAuth) après cela Vous devez donner votre clientId et clientSecret .Et à la même heure sur le côté gauche il y a une zone de texte avec espace réservé comme Input Your Own Scopes garder ce lien https://mail.google.com/ et cliquez sur Authorize APIs puis cliquez sur le code d'autorisation Exchange pour les jetons puis wi Vous obtiendrez votre refreshToken et accessToken garder ces deux dans votre code.Hope thsi aide pour vous ..

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'); 
} 
}) 
});