Envoyer un e-Mail à l'Aide de React.js + Express.js
J'ai construit une application web en utilisant React.js dans l'ES6. Actuellement, je veux créer une base de page "Nous Contacter" et vous voulez envoyer un e-mail. Je suis nouveau à Réagir et viens de découvrir que je ne peux pas envoyer un e-mail à l'aide de Réagir lui-même. Je suis en suivant le tutoriel avec nodemailer
et express-mailer
, mais ils ont eu quelques difficultés à s'intégrer dans l'exemple de code avec mon Réagir fichiers. Plus précisément, l'appel de node expressFile.js
fonctionne, mais je n'ai aucune idée de comment le relier à mon Réagir avant la fin de l'.
Nodemailer: https://github.com/nodemailer/nodemailer
Express-mailer: https://www.npmjs.com/package/express-mailer
Mon Réagir composant le formulaire ci-dessous. Comment pourrais-je écrire un Express fichier de sorte qu'il est appelé à partir de la contactUs()
méthode dans mon Réagir composant? Merci!
import React from 'react';
import {
Col,
Input,
Button,
Jumbotron
} from 'react-bootstrap';
class ContactView extends React.Component{
contactUs() {
//TODO: Send the email here
}
render(){
return (
<div>
<Input type="email" ref="contact_email" placeholder="Your email address"/>
<Input type="text" ref="contact_subject" placeholder="Subject"/>
<Input type="textarea" ref="contact_content" placeholder="Content"/>
<Button onClick={this.contactUs.bind(this)} bsStyle="primary" bsSize="large">Submit</Button>
</div>
)
}
};
export default ContactView;
OriginalL'auteur felix_xiao | 2016-05-04
Vous devez vous connecter pour publier un commentaire.
Lorsque le bouton est cliqué, exécuter une requête ajax POST demande expresse de votre part, serveur, j'.e "/contactus". /contactus permet de récupérer l'e-mail, l'objet et le contenu de la post données et de les envoyer à la fonction mail.
À Réagir:
Dans l'express ajouter le nodemailer code dans un post express gestionnaire:
merci pour les conseils, cela ressemble à ça marchera! Aussi cela peut être une question stupide, mais maintenant, quand je compile mon application, je viens de lancer
npm start
. Comment aurais-je obtenir mon express server pour exécuter en même temps?Vous démarrez l'express server avec nœud: nœud expressFile.js
OriginalL'auteur Ryan Jenkin
@ryan-jenkin est tout à fait correcte.
Alternativement, si vous n'avez pas /voulez jQuery comme une dépendance, vous pouvez utiliser le natif chercher de l'api. Aussi, en général, je créé mon formulaire, pour chaque entrée a un état, puis utilisez que de l'état dans le stringified blob.
Côté Client (Réagir):
OriginalL'auteur blakeface