2015-10-13 4 views
0

Я хочу импортировать smtplib в скрипт sikuli, который я пишу, так что Sikuli может автоматически отправлять электронную почту, когда тест завершен.Импорт библиотеки Python smtplib

Однако у меня возникла проблема с тем, что Sikuli не может найти модуль smtplib в Python, который, я уверен, установлен и находится в каталоге Python27/Lib. Ниже приведен код, который я использую. Я использую SikuliX 1.1.0 и Python 2.7.


import smtplib 
sender = '<email address hidden>' 
receivers = ['<email address hidden>'] 

message = """From: From Person <email address hidden> 
To: To Person <email address hidden> 
Subject: SMTP e-mail test 

This is a test e-mail message. 
""" 

try: 
    smtpObj = smtplib.SMTP('test.com.hk') 
    smtpObj.sendmail(sender, receivers, message) 
    print "Successfully sent email" 
except: 
    print "Error: unable to send email" 

Когда я запускаю его в Sikuli IDE, это дает мне:

«[Ошибка] Сценарий [отправить] остановлен с ошибкой в ​​строке 2 [ошибка] ImportError (Нет модуль с именем utils) [ошибка] --- Traceback --- исходный код ошибки исходная строка: инструкция модуля (функции) 46: smtplib() import email.utils [error] --- Traceback --- end ---- ---------- "

Может ли кто-нибудь помочь? Спасибо

ответ

0

У вас есть файл под названием email.py где-то в вашем sys.path, который затеняет пакет стандартной библиотеки библиотеки email - это может быть даже скрипт, который вы тестируете.

https://docs.python.org/2/library/email.html

Чтобы исправить, использовать что-нибудь другое, как имя модуля/файла.

[email protected]:~/scratch.d/20151012-stack33095084$ cat email.py 
import smtplib 
sender = '<email address hidden>' 
receivers = ['<email address hidden>'] 

message = """From: From Person <email address hidden> 
To: To Person <email address hidden> 
Subject: SMTP e-mail test 

This is a test e-mail message. 
""" 

try: 
    smtpObj = smtplib.SMTP('test.com.hk') 
    smtpObj.sendmail(sender, receivers, message) 
    print "Successfully sent email" 
except: 
    print "Error: unable to send email" 

[email protected]:~/scratch.d/20151012-stack33095084$ python email.py 
Error: unable to send email 
Traceback (most recent call last): 
    File "email.py", line 1, in <module> 
    import smtplib 
    File "/usr/lib/python2.7/smtplib.py", line 46, in <module> 
    import email.utils 
ImportError: No module named utils 
[email protected]:~/scratch.d/20151012-stack33095084$ mv email.py anything_but_email.py 
[email protected]:~/scratch.d/20151012-stack33095084$ python anything_but_email.py 
Error: unable to send email 
Смежные вопросы