Envoyer un email à partir de rails de la console
Je suis en train d'envoyer des mails à partir de la console sur mon serveur de production, et ils ne vont pas dehors. Je ne peux pas savoir pourquoi. Je viens de votre standard de configuration de la messagerie avec sendmail. Quand j'ai appeler l'Expéditeur.deliver_ méthode que je obtenir ce retour:
#<TMail::Mail port=#<TMail::StringPort:id=0x3fe1c205dbcc> bodyport=#<TMail::StringPort:id=0x3fe1c2059e00>>
EDIT: Ajout de quelques infos:
Ainsi, par exemple, j'ai cette ligne dans mon contrôleur lorsqu'un nouvel utilisateur s'inscrit, pour leur envoyer un message de "bienvenue" email:
Mailer.deliver_signup(@user, request.host_with_port, params[:user][:password])
Cela fonctionne bien. J'ai pensé que je devrais être capable de faire la même chose à partir de la console, par exemple
user = User.find(1)
Mailer.deliver_signup(user, "mydomainname.com", "password")
Quand je fais cela, je reçois le Tmail::StringPort objet de retour, mais le mail semble ne pas obtenir envoyés (je suis en train d'envoyer des mails à moi-même pour tester cette).
Je suis sur une ubuntu server dans le cas qui aide. merci - max
- Ne vous essayez d'envoyer un e-mail à l'Internet?
- C'est assez standard pour une valeur de retour pour offrir la méthode, il y a probablement quelque chose de mal avec votre sendmail ou e-mail de destination.
Vous devez vous connecter pour publier un commentaire.
Pour l'Envoi de mail à partir de la Console Rails d'abord, nous devons utiliser ce paramètre dans la console d'action mailer paramètres.
Après que Si nous exécutons e-mail de l'envoi de code, il va distribuer le courrier.
Version plus rapide:
deliver
est obsolète, et il est encouragé à utiliserdeliver_now
à la place.J'ai rencontré un problème similaire, ce matin, sur Rails 3 app où j'ai appelé:
Ceci m'a données, mais n'a pas envoyé l'e-mail de sortir. Pour l'envoyer, je l'ai appelé:
Cela a fait le tour. J'espère que cela pourrait fonctionner pour vous aussi!
Je ne suis pas à 100% si je comprends ce que vous essayez de faire.
Si vous essayez d'envoyer des e-mails à l'Internet, votre sendmail doit être configuré de manière à envoyer ces e-mails à la bonne e-mails du serveur. Selon la version d'Ubuntu est sortie que vous utilisez, vous pouvez simplement reconfigurer le paquet pour ce faire.
Vous aussi pourriez penser si vous souhaitez utiliser procmail à la place de sendmail.
Vous pouvez reconfigurer la configuration des e-mails avec
de l'utilisation de procmail au lieu de cela, si vous utilisez ce package. Le dialogue de configuration vous donne une option où vous pouvez le configurer pour transférer tous les messages à la appropriée de serveur de messagerie. Cependant, vous devez penser si vous avez besoin d'authentification ou si ce serveur accepte les e-mails à partir de votre serveur.