2010-05-17 1 views
0

Ceci est mon premier poste alors laissez-moi savoir s'il y a des courtoisies communes que je devrais connaître.Emailing une feuille excel avec SSL en Python

Je viens de commencer la programmation il y a 8 mois, donc je suis assez nouveau. J'ai fait des projets pour aller mieux. Un projet sur lequel je travaille crée maintenant une feuille Excel à partir des données saisies. C'est en Python, que j'ai commencé à apprendre il y a quelques semaines. J'essaie d'intégrer une partie de cette feuille Excel dans un e-mail envoyé depuis mon adresse scolaire. J'ai passé des heures à chercher ça, et en vain.

Il y a deux problèmes que je demande de l'aide avec:

1) Le code suivant fonctionne pour l'envoi d'e-mail de GMail, mais pas mon compte scolaire. Malheureusement, j'ai eu un problème pour configurer le courriel sortant pour ce compte sur mon iPhone. Cela peut être lié? Quelqu'un aurait-il idée pourquoi ce code ne fonctionne pas?

import smtplib 
from email.MIMEText import MIMEText 

LOGIN = 'myemailaddress' 
PASSWORD = 'mypassword' 


def send_email(subject, message, from_addr=LOGIN, to_addr=LOGIN): 
    msg = MIMEText(message) 
    msg['Subject'] = subject 
    msg['From'] = from_addr 
    msg['To'] = to_addr 

    server = smtplib.SMTP('myhost',465) 
    server.ehlo() 
    server.starttls() 
    server.ehlo() 
    server.login(LOGIN,PASSWORD) 
    server.sendmail(from_addr, to_addr, msg.as_string()) 
    server.close() 


if __name__=="__main__": 
    send_email('test', 'This is a test email', "myemailaddress", "myemailaddress") 

2) Excel a la possibilité d'enregistrer une feuille au format HTML. Ce faisant, j'ai copié et collé la source HTML et l'ai envoyée par email en pièce jointe. Malheureusement, le texte en couleur n'a pas été transféré. Est-ce que quelqu'un sait d'une meilleure façon d'utiliser Python pour envoyer une feuille Excel intégrée dans un e-mail?

Merci pour votre aide!

+0

Depuis que vous avez demandé, il est préférable de mettre des questions distinctes dans des messages séparés sur le débordement de la pile. – msw

+0

Aucune de ces questions n'a de relation apparente avec Python ou de programmation. Vous devriez éditer dans quel code vous échouez en question (1), la question (2) concerne Excel et son export HTML et ne sera pas répondu ici. Superuser.com pourrait convenir à la question 2. http://superuser.com/faq – msw

+0

J'ai fait une modification à la question (1), et je crois que la question (2) est très pertinente pour la programmation Python. Je demande comment je pourrais utiliser Python pour intégrer une feuille Excel dans un e-mail, car mon idée HTML ne fonctionnait pas. – jakecar

Répondre

0

Plus d'informations sont nécessaires pour déterminer l'erreur réelle. Pour l'obtenir, activez la journalisation du débogage pour le module smtplib, vous pouvez le faire en ajoutant la ligne suivante avant ehlo().

server.set_debuglevel(True) 

Si monhôte est le serveur de messagerie de l'école, le problème est plus probable que le serveur de messagerie de l'école n'écoute sur le port 465. Si monhôte est le serveur de messagerie de Google, puis le port le plus probablement 465 (SMTPS) est bloqué par le réseau scolaire.

Recherchez comment les fichiers non textuels et le contenu sont inclus dans le courrier électronique (pièces jointes MIME). Si vous souhaitez joindre le code HTML à l'e-mail, mais si l'intention est simplement d'envoyer la feuille de calcul Excel, puis joindre la feuille de calcul - il n'est pas nécessaire de le convertir en HTML. Voici un message StackOverflow sur le code pour le faire: How to send email attachments with Python