Major Member
|
還是在重覆的地方打轉..快暈頭了 .. 我把程式碼貼上來好了 請高手看一下 謝謝
#! /usr/bin/env Python
#!coding=utf-8
import smtplib
from email.mime.text import MIMEText
from email.Header import Header
import random
import lxml.html
import dns.resolver
import string
import pyodbc
import sys
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=XXX;DATABASE=XXX;UID=sa;PWD=XXXXXXX')
cursor = cnxn.cursor()
cursor.execute("select Top 10 Ser_no,From_Name,From_Email,To_Email,Mail_Subject,ePaper_Content from SendMail_MailList Where State_Check='N'")
rows = cursor.fetchall()
for row in rows:
#print row.Ser_no, row.From_Email, row.To_Email
t = (row.Ser_no)
From_Name = Header((row.From_Name), charset='UTF-8')
From_Email = (row.From_Email)
To_Email = (row.To_Email)
Subject = Header((row.Mail_Subject), charset='UTF-8')
NOWBODY = lxml.html.tostring((row.ePaper_Content.encode('utf-8')),method='html', encoding='utf-8')
host = To_Email.split("@")
answers = dns.resolver.query(host[1], 'MX')
host = "0"
newhost = "0"
port = "25"
for rdata in answers:
host = (rdata.exchange.to_text())
if host != "0":
break
smtp=smtplib.SMTP()
smtp.connect(host, port)
smtp.set_debuglevel(1)
smtp.noop()
body="""
From:%s <%s>
To:%s
MIME_Version: 1.0
Content-type: text/html
Subject:%s
%s""" % (From_Name,From_Email,To_Email,Subject,NOWBODY)
try:
smtp.ehlo()
smtp.sendmail(From_Email,To_Email,body)
MailReplyDesc="Successfully sent email!!"
Err_Type = "0"
except smtplib.socket.gaierror:
MailReplyDesc="Couldn't contact the host!!"
Err_Type = "1"
except smtplib.SMTPAuthenticationError:
MailReplyDesc="Login failed!!"
Err_Type = "2"
except smtplib.SMTPConnectError:
MailReplyDesc="Connect the Host error!!"
Err_Type = "3"
except smtplib.SMTPServerDisconnected:
MailReplyDesc="Disconnected!!"
Err_Type = "4"
except smtplib.SMTPDataError:
MailReplyDesc="DataError!!"
Err_Type = "5"
except smtplib.SMTPRecipientsRefused:
MailReplyDesc="unknown User Account!!"
Err_Type = "6"
smtp.quit()#退出
錯在 smtp.sendmail(From_Email,To_Email,body) 這一段.
NOWBODY 內容是標準的HTML語法.簡單的TEST 錯誤訊息是
TypeError: Type unicode connot be serialized.
__________________
|