Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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)

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.

Hors ligne