Puis-je utiliser HTML5 pour envoyer un côté client e-mail?
Je veux envoyer un email en HTML5. Je ne veux pas forcer l'utilisateur à ouvrir un client de messagerie, je veux envoyer l'e-mail directement à partir de la page web.
Sur une note de côté, est-il un moyen de le faire en JavaScript? Je sais que c'est probablement pas possible, je me demandais s'il y a des petits malins façons de le retirer complètement par le client.
- pourrait être malveillant, votre navigateur web peut être utilisé pour envoyer du spam, s'il a jamais été possible.
- d'accord. les fournisseurs de navigateur aurait essayer d'empêcher cela à tout prix.
- Je pense que c'est possible. Voir ci-dessous post. Il pourrait être utilisé à des fins malveillantes, mais je ne pense pas que les fournisseurs de navigateur pourrait nécessairement l'arrêter. Pratiquement les goûts de google serait de blacklister un site comme malveillant si il a essayé de configurer un smtp de réseaux de zombies à l'aide de ces techniques.
- Faille de sécurité: si le serveur SMTP à vous connecter avec requiert l'authentification par mot de passe, vous devez vous exposer que le mot de passe (et son nom d'utilisateur) pour le client. I. e. à votre navigateur web de l'utilisateur. Si votre utilisateur a été en accordant une attention et des extraits de votre mot de passe, puis qu'ils seraient en mesure d'utiliser votre serveur SMTP pour envoyer des messages de spam que vous réinitialisez votre mot de passe. Ils pourraient même être en mesure d'utiliser le mot de passe & nom d'utilisateur de changer le mot de passe sur le serveur, le verrouillage de la vous de. EDIT: à moins que votre SMTP server prend en charge les jetons, comme smtpjs.com dit qu'il fait.
Vous devez vous connecter pour publier un commentaire.
Oui c'est possible. Mais pas pratique ** Voir Edit 2
Certains HTML5 implémentations d'inclure le support pour les websockets, essentiellement une connexion tcp vers un serveur. La superposition de certains send/recv code et vous pouvez construire un client SMTP.
En fait, il ressemble à nodejs et websocket de soutien a été utilisé pour implémenter un client smtp ... voir ici ...
Vous auriez encore besoin d'un serveur smtp, le nom d'utilisateur, mot de passe, etc, tout comme un standard smtp client pour qu'il fonctionne.
À l'aide de cette méthode à des fins de spam serait peu probable que votre fournisseur de smtp pourrait facilement annuler votre compte.
=== EDIT ===
En fait, vous pouvez construire un serveur moins la version, il faut aussi mettre en œuvre de serveur de noms des recherches pour trouver les enregistrements mx. Les Chances sont, cependant, que tout décent serveurs SMTP maintenir spamlist liste noire des tables et de la connexion à partir d'une adresse ip aléatoire serait de voir l'e-mail souvent marqués comme spam.
Aussi en parler avec les serveurs smtp que le besoin de sécuriser les connexions de messagerie pourrait être difficile.
Comme d'autres l'ont mentionné, il est malveillant utilise à cette mise en œuvre, comme l'envoi de spam. Je suppose que c'est possible vous pourrait être un HTML5 botnet créateur, mais j'aurais pensé que vous sauriez que la plupart de ce déjà 🙂
=== EDIT 2 ===
En tant que Marque À Ramp51 mentionné, la poignée de main est nécessaire avec les websockets. C'était quelque chose que je n'étais pas au courant. Vous devez pirater le websocket mise en œuvre de contourner la poignée de main.
La bonne façon est d'avoir le serveur web transférer l'e-mail.
Bref NON pas directement à partir du client (à l'exclusion des hacks).
vous pourriez faire un appel ajax sur votre serveur et d'envoyer un e-mail.
le problème avec la faire à partir du client et non pas à l'aide d'un client de messagerie est compliqué. Par exemple, la plupart des Fai ont leur propre SMTP relais que l'ensemble du courrier sortant sur le port 25 doit être transmis sur. Le site web vous aurez des difficultés à obtenir les informations adéquates pour ce faire. Deuxièmement, le webbrowser ne pas comprendre le protocole SMTP et ni ne fait l'objet XMLHttpRequest.
Donc, si vous êtes un pirate ninja, peut-être vous pouvez comprendre quelque chose avec les ActiveX, les Applets Java ou flash, mais en gros, vous aurait fonctionner directement avec un socket tcp et l'émission des commandes de protocole SMTP sur ce socket.
Il y a de nombreux obstacles à surmonter, en fait je ne sais pas comment le faire, mais où il y a volonté il ya un chemin. Ne soyez pas surpris si vous trouvez un hack, il peut être branché rapidement par les principaux fournisseurs de navigateur.
Ce n'est pas possible.
Au lieu de cela, vous devez utiliser AJAX pour envoyer l'e-mail sur le serveur.
Vous ne pouvez pas envoyer l'e-mail à l'aide de JavaScript seul. Vous aurez besoin d'une certaine forme de traitement côté serveur (PHP, ASP, etc) pour envoyer des e-mail.
Il y a un bon tutoriel sur la création d'un ajax formulaire ici:
http://net.tutsplus.com/tutorials/javascript-ajax/submit-a-form-without-page-refresh-using-jquery/
Il ne comprend pas le PHP (ou ASP, etc) pour l'envoi de l'email, mais il ya beaucoup de tutoriels pour savoir comment envoyer un e-mail à l'aide de PHP.
Envoyer un email directement à partir de Javascript
Officiel de ressource:
Connecter votre service de messagerie
Choisissez parmi une grande variété de services de courrier électronique. Nous soutenons à la fois
e-mail transactionnel services (Mailgun, Mailjet, Mandrill, SendGrid, Amazon SES et Cachet de la poste) et les personnels des services de messagerie (AOL, Gmail, FastMail, iCloud, Mail.ru, Outlook, Yahoo, Yandex et Zoho).
Créer des modèles de courrier
Choisissez à partir d'une liste de nos modèles, ou facilement construire votre propre.
Les modèles sont paramétrés, de sorte que vous pouvez les personnaliser via Javascript.
Envoyer un email avec notre API Javascript
Ajouter notre Javascript SDK, et commencer à envoyer des e-mails!
Voici ce qu'un appel typique ressemble à ceci:
Tous les APIs existantes nécessitent l'aide d'une clé secrète, qui de toute évidence vous ne voulez pas partager votre frontal code. Service spécifié résoudre ce problème en permettant l'envoi uniquement des modèles prédéfinis, donc, pour "Partager avec un ami", vous devez créer un modèle appelé "partager".
Vous ne pouvez pas le faire uniquement au travers de code côté client.
Vous pouvez le faire avec un serveur de rappel, AJAX.