2016-12-04 21 views
0

我試圖使用電子郵件輸入字段從CGI Web控制檯發送郵件,但與它失敗在Apache日誌發送的郵件從蟒蛇CGI - 錯誤

Traceback (most recent call last): 
    File "/opt/apache-dba/cgi-bin/main.py", line 132, in <module> 
    mail() 
    File "/opt/apache-dba/cgi-bin/main.py", line 129, in mail 
    s.sendmail(me, you, msg.as_string()) 
    File "/usr/lib64/python2.7/smtplib.py", line 742, in sendmail 
    raise SMTPRecipientsRefused(senderrs) 
smtplib.SMTPRecipientsRefused: {'[email protected]/': (501, '5.1.3 Bad recipient address syntax')} 

下面的錯誤,但我能跑相同的代碼並能夠從python shell接收郵件 下面是代碼,這看起來像我從cgi運行代碼時,它試圖將mailid從'[email protected]'轉換爲'[email protected]/ '導致語法錯誤。

import smtplib 
from email.mime.multipart import MIMEMultipart 
from email.mime.text import MIMEText 
Emailid = [email protected] 

Link='http://google.com' 


def mail(): 
     me = "[email protected]" 
     you = str(Emailid) 
     msg = MIMEMultipart('alternative') 
     msg['Subject'] = "Upgrade Status Link" 
     msg['From'] = me 
     msg['To'] = you 
     text = '%s' % str(Link) 
     part1 = MIMEText(text, 'plain') 
     msg.attach(part1) 
     s = smtplib.SMTP('localhost') 
     s.sendmail(me, you, msg.as_string()) 
     s.quit() 

mail() 

任何幫助將不勝感激,謝謝

回答

2

看起來EMAILID應該是一個字符串。嘗試圍繞測試電子郵件使用引號使其成爲字符串。

Emailid = '[email protected]'