Comment envoyer un e-mail à partir d'une ligne de commande ou d'un script? Je veux pouvoir exécuter le script par programme en passant le récepteur et le message.
email
development
command-line
script
michelemarcon
la source
la source
Réponses:
mail -s subject [email protected]
tapez votre message, appuyez surCtrl+D
pour terminerla source
echo This will be the body of the email | mail -s "This is the Subject" [email protected]
Il y a deux programmes que je connais qui vous permettront facilement de configurer votre Mac pour envoyer des e-mails à partir de la ligne de commande.
J'ai rédigé des HOWTO pour les deux:
Des deux, je suggère
msmtp
.La configuration est suffisamment compliquée pour que je ne sois pas sûr de devoir répliquer toutes les étapes ici, mais je mentionnerai que si vous utilisez Homebrew, vous pouvez installer msmtp en utilisant
brew install msmtp --with-macosx-keyring
Ensuite, le reste est juste une question de mise en place des fichiers de configuration associés
Le premier est
/usr/local/etc/msmtprc
Notez que la
tls_trust_file
ligne doit pointer vers l'endroit où vous avez téléchargé et installé les certificats depuis https://www.thawte.com/roots/index.html .J'ai mis le mien
~/Dropbox/Thawte Roots
pour que je puisse l'avoir sur tous mes Mac.Ensuite, vous avez besoin d'un
~/.mailrc
fichier pour dire où se trouve le binaire msmtp. Si vous utilisezbrew
ce sera/usr/local/bin/msmtp
donc le fichier ressemblerait à ceci:La dernière étape, mais cruciale, consiste à s'assurer que votre trousseau contient les informations exactement au format que msmtp attendra:
Je pense que cela couvre la plupart des détails. Voir http://www.tuaw.com/2010/05/04/msmtp-a-free-tool-to-send-email-from-terminal/ si vous voulez quelques détails supplémentaires.
la source
[email protected]
à votre adresse e-mail Gmail ou Google Apps.~/.msmtprc
La façon la plus simple d'envoyer du courrier consiste à utiliser une session telnet avec le serveur smtp de votre fournisseur / réseau. Après avoir contacté le serveur et après chaque commande, le serveur répondra s'il accepte la commande avec quelque chose comme "250 OK", ou sinon avec un message d'erreur.
Tous les détails peuvent être trouvés dans RFC2821 - Simple Mail Transfer Protocol, Google pour cela. Cette méthode de base est idéale pour tester pourquoi quelque chose ne va pas lors de l'envoi de courrier, mais je pense qu'il est assez compliqué de l'écrire en preuve complète.
Obtenez d'abord une interface de ligne de commande sur votre ordinateur, en démarrant Terminal. Continuez ensuite avec les commandes suivantes, l'une après l'autre.
Ouvrez une session telnet sur le port 25 du serveur smtp de votre fournisseur / réseau
dites bonjour plus le nom Internet de votre fournisseur / réseau, comme abc.com
une adresse from = return est nécessaire, les <et> font partie de la commande
donner une ou plusieurs destinations, les <et> font partie de la commande
dites au serveur que vous voulez commencer à envoyer des données
Maintenant, le serveur doit répondre, vous pouvez commencer à envoyer votre courrier et passer en mode données
maintenant terminer les données avec un point comme seul caractère sur une ligne
le serveur revient en mode commande pour que vous puissiez quitter
la source
Cela a fonctionné pour moi, il a été écrit avec Lion à l'esprit mais fonctionne pour Mountain Lion. Btw cela utilise Gmail donc si vous n'êtes pas ...
Vous n'avez pas besoin de télécharger quoi que ce soit! (il suffit de configurer un compte gmail)
http://www.anujgakhar.com/2011/12/09/using-macosx-lion-command-line-mail-with-gmail-as-smtp/
Configurer Postfix pour Gmail SMTP Edit file /etc/postfix/main.cf
et ajoutez ci-dessous les hôtes de relais commentés: -
Générer sasl_password s'il n'existe pas déjà
et entrez les informations suivantes: -
Exécutez les commandes suivantes
Et vous avez terminé….
Maintenant, vous devriez pouvoir envoyer des e-mails depuis la ligne de commande, par exemple pour envoyer le contenu d'un répertoire sous forme d'arborescence à une adresse e-mail
la source
mtcmail est une autre option: http://www.macupdate.com/app/mac/33505/mtcmail-cli .
[Ignorez ce texte supplémentaire. Ajouté parce que: le corps doit contenir au moins 30 caractères; vous avez entré 27.]
la source
Vous voudrez peut-être consulter postfixconf qui active et configure OS X pour envoyer des e-mails à partir de la ligne de commande (en utilisant votre entrée).
Il est basé sur la configuration postfix bien documentée sur le web ici , ici et ici .
la source
Comme il est basé sur Unix, vous pouvez utiliser la commande sendmail .
la source