Pages : 1
#1 Le 20/03/2014, à 16:27
- fireligne
Envoyer mail via terminal.
Bonjour,
Je souhaite envoyer un mail via le terminal, je n'arrive pas a fermer le mail et qu'il parte.
Savez-vous svp comment, clore le corp du mail et qu'il parte. Merci pour votre aide
Hors ligne
#2 Le 20/03/2014, à 16:40
- sinbad83
Re : Envoyer mail via terminal.
Salut,
tu peux regarder cette page http://coursinforev.org/dokuwiki/doku.p … e_commande
La connaissance n'est pas une denrée rare, il faut la partager avec les autres.
Linux registered #484707
Site: www.coursinforev.org/doku.php
Desktop AMD Ryzen 5-3600, RAM 16GB, Ubuntu 20.10, HP Pavillon G6 Ubuntu 20.10 et Ten, Serveur Ubuntu 18.04
Hors ligne
#3 Le 20/03/2014, à 19:00
- psyphi
Re : Envoyer mail via terminal.
J'ai créer un programme Python qui permet d'envoyer des Emails en utilisant un compte Gmail. Il te suffit de modifier un peu le code et de le lancer depuis la ligne de commande pour avoir ce que tu demandes. J'avais écris un article là dessus.
#!/usr/bin/python
'''
Created on Aug. 10 2011
@author: Thomas Bores
'''
import urllib2
import time, datetime
import smtplib
from email.mime.text import MIMEText
def get_localTime():
# Get current local time
return str(datetime.datetime.now().strftime("%Y-%m-%d %H:%M"))
def send_mail(ip):
# 1. Prepare mail content
mailContent = localtime + "\nIP changed\nNew IP is: " + ip
msg = MIMEText(mailContent)
print "IP changed, send a notification by email with the following content:"
print mailContent
# 2. Add a subject
msg['Subject'] = 'Cloud has a new IP - '+ip
# 3. Use my gmail account to send the mail
mailServer = smtplib.SMTP("smtp.gmail.com", 587)
mailServer.ehlo()
# 4. Of course, we use a secure connection
mailServer.starttls()
mailServer.ehlo()
mailServer.login('your_account@gmail.com', 'password')
mailServer.sendmail('your_account@gmail.com', 'your_account@gmail.com', msg.as_string())
mailServer.close()
# *** main program ***
saved_ip = None
# Check if we already have a saved ip
try:
fSavedIp = open("CloudIpChecker.ip", "r")
except IOError:
print "Couldn't open CloudIpChecker.ip for reading saved ip, create the file."
else:
print "CloudIpChecker.ip found, read saved ip."
saved_ip = fSavedIp.readline().rstrip("\n");
fSavedIp.close()
# Connect to a website that returns the ip
# Please avoid to overload my website, use your own
url = '[url]http://www.bores.fr/ip.php[/url]'
ip = urllib2.urlopen(url).read()
if saved_ip != ip :
#Save the new ip
saved_ip = ip
# Notice me by email about ip change
send_mail(ip)
# Save the new ip
try:
fSavedIp = open("CloudIpChecker.ip", "w")
except IOError:
print "Couldn't create CloudIpChecker.ip for writing new ip!\n"
else:
fSavedIp.write(ip+"\n")
fSavedIp.close()
else :
print "IP still the same"
Dernière modification par psyphi (Le 20/03/2014, à 19:00)
Mon blog: http://blog.bores.fr
Mon wiki: http://bores.fr/wiki
Mes programmes libres: https://github.com/tbores
Hors ligne
#4 Le 20/03/2014, à 22:07
- tiramiseb
Re : Envoyer mail via terminal.
Salut,
Savez-vous svp comment, clore le corp du mail et qu'il parte. Merci pour votre aide
Oui, en mettant un point seul sur une ligne.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne