Exemple #1
0
def mail_smtp(server,serverpw,to_address,from_address,loginuser,subject,content,charset="latin-1"):
	"""
	Send subject/content, as latin-1 by default
	String-Parameter; subject/content may be unicode or str.
	
	:returns: None
	
	:param server: e.g.."mail.gmx.net"
	:param serverpw: SMTP server password
	"""
	import sys
	import smtplib
	import socket
	from email.MIMEText import MIMEText
	
	try:
		server = smtplib.SMTP(server)
		#server.set_debuglevel(1)
	except socket.gaierror:
		e,f,g = sys.exc_info()
		msg = "ERROR:%s,%s \n%s"%(e,f, traceToShortStr())
		sys.stderr.write(msg)
		sys.stderr.write("(Network down? No DNS resolution?)")
		return
	except:
		e,f,g = sys.exc_info()
		msg = "ERROR:%s,%s \n%s"%(e,f, traceToShortStr())
		sys.stderr.write(msg)
		return
		
	try:
		server.login(loginuser, serverpw)
	except:
		e,f,g = sys.exc_info()
		msg = "ERROR login:%s,%s\n%s"%(e,f, traceToShortStr())
		sys.stderr.write(msg)
		return

	msg = MIMEText(content,_charset=charset)
	msg["From"] = from_address
	msg["To"] = to_address
	msg["Subject"] = subject
	
	try:
		server.sendmail(from_address, (to_address,), msg.as_string())
	except:
		e,f,g = sys.exc_info()
		msg = "ERROR sendmail:%s,%s"%(e,f)
		sys.stderr.write(msg)
		msg = "ERROR sendmail; server=%s, from=%s, to=%s"%(server, from_address, to_address)
		sys.stderr.write(msg.encode("ascii","backslashreplace"))
		
	try:
		server.quit()
	except:
		e,f,g = sys.exc_info()
		print("ERROR quit:%s,%s"%(e,f))
Exemple #2
0
def create_message(from_addr, from_addr_name, to_addr, subject, body):

    cset = 'utf-8'
    msg = MIMEMultipart()
    msg["Subject"] = subject
    msg["From"] = from_addr_name + "<" + from_addr + ">"
    msg["To"] = to_addr
    msg["Date"] = formatdate()
    body = MIMEText(body.encode("utf-8"), 'plain', 'utf-8')
    msg.attach(body)
    return msg
Exemple #3
0
def create_message(from_addr,
                   to_addr,
                   subject,
                   body,
                   mime=None,
                   attach_file=None):
    """
    メッセージを作成する
    @:param from_addr 差出人
    @:param to_addr 宛先
    @:param subject 件名
    @:param body 本文
    @:param mime MIME
    @:param attach_file 添付ファイル
    @:return メッセージ
    """
    msg = MIMEMultipart()
    msg["From"] = from_addr
    msg["To"] = to_addr
    msg["Date"] = formatdate()
    msg["Subject"] = subject
    body = MIMEText(body.encode('utf-8'))
    msg.attach(body)

    # 添付ファイル
    if mime != None and attach_file != None:
        attachment = MIMEBase(mime['type'], mime['subtype'])
        file = open(attach_file['path'])
        attachment.set_payload(file.read())
        file.close()
        Encoders.encode_base64(attachment)
        msg.attach(attachment)
        attachment.add_header("Content-Disposition",
                              "attachment",
                              filename=attach_file['name'])

    return msg