J'utilise Angular7 je viens de commencer à développer des applications Je veux savoir comment envoyer des e-mails à partir d'applications angular7. Veuillez partager un exemple de code
4 Réponses :
Angular travaillant côté client et pour envoyer des e-mails, vous avez besoin d'un serveur, donc je pense qu'il est impossible pour l'instant d'envoyer des e-mails en utilisant uniquement angular, vous devez utiliser une application côté serveur pour envoyer des e-mails.
Il est impossible d'envoyer des e-mails via Angular. cependant, vous pouvez créer le serveur express Node Js et à partir de là, vous pouvez envoyer les e-mails. J'ai utilisé le projet suivant pour mettre en œuvre cela: https://github.com/niftylettuce/email-templates
Salut, savez-vous comment utiliser cela en tapuscrit? je ne sais pas comment importer EmailTemplate ... merci.
Vous devez comprendre la nature de l'angulaire en premier lieu. Mais en supposant que vous êtes nouveau dans angular, vous devez comprendre que Angular n'est qu'un framework de vue frontale. Il n'a donc pas la capacité d'envoyer des e-mails par lui-même. Pour rendre les transactions angulaires capables, vous avez besoin d'un système backend capable d'envoyer des e-mails en son nom.
Ceci est réalisé grâce aux API Web. Vous devez donc créer une API où angular peut informer l'API d'envoyer des e-mails. En ce qui concerne mes connaissances, c'est la méthode qui, à ma connaissance, est la plus largement utilisée.
Pouvez-vous me donner une idée comment créer une API et l'appeler pour envoyer un e-mail
Vous pouvez utiliser un fournisseur BaaS (Backend as a service), comme Formspree . Il est assez simple à utiliser et vous permet d'envoyer des e-mails sans avoir à écrire ou configurer un backend. Tout ce que vous avez à faire est de poster une requête Http de votre application angulaire et ce service s'occupe du reste.
Ensuite, vous obtiendrez un point de terminaison unique pour ce nouveau formulaire de création que vous pouvez utiliser pour envoyer (publier) des e-mails à partir de votre application angulaire. Le point de terminaison ressemblera à ceci: https://formspree.io/asdlf7asdf
Voici un exemple de code utilisant des formulaires pilotés par des modèles:
onSubmit(contactForm: NgForm) { if (contactForm.valid) { const email = contactForm.value; const headers = new HttpHeaders({ 'Content-Type': 'application/json' }); this.http.post('https://formspree.io/asdlf7asdf', { name: email.name, replyto: email.email, message: email.messages }, { 'headers': headers }).subscribe( response => { console.log(response); } ); } }
<form (ngSubmit)="onSubmit(contactForm)" #contactForm="ngForm"> <input type="text" placeholder="Name" name="name" ngModel required #name="ngModel"> <input type="text" placeholder="Email" email name="email" ngModel required #email="ngModel"> <textarea placeholder="Messages" name="messages" ngModel required #messages="ngModel"></textarea> <input type="submit" value="Send"> </form>
Vous pouvez faire beaucoup plus avec ce (ou d'autres) services, mais ce serait l'essentiel.
Pour autant que je sache, il est impossible de le faire tout de suite à partir de js, mais vous pouvez écrire un serveur Web avec http api ou utiliser un serveur tiers déjà existant qui le ferait, et il vous suffit de l' appeler à partir de votre application angulaire .
Je pensais que ce n'était pas possible avec angulaire
Angular est un framework de vue frontale et n'est pas intelligent de transaction de serveur mais plutôt intelligent de navigateur. Pour cette question, les navigateurs ne sont pas capables d'envoyer des e-mails si anguleux ne peuvent malheureusement pas envoyer d'e-mail avec leurs propres API intégrées. Vous avez besoin d'un service back-end intelligent pour implémenter les transactions par e-mail. Cela dépendra de ce que vous souhaitez utiliser. Implémentez des API pour prendre en charge ces transactions.