#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import sys
import base64
import smtplib
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart

'''
-------------------------------------------
user 	- Feladó e-mail címe
to	- Címzett e-mail címe
cc	- Másolatot kap... (opcionális)
Subject	- Az üzenet tárgya
Text	- Az üzenet törzse (maga az üzenet)
-------------------------------------------
'''

# Ez a függvény generálja le a hozzáférési sztringet.
def auth_string_generator(username, access_token):
  base64_encode=True
  auth_string = 'user=%s\1auth=Bearer %s\1\1' % (username, access_token)
  if base64_encode:
    auth_string = base64.b64encode(auth_string)
  return auth_string

def sendmail (user, to, cc, Subject, Text, access_token, image_name):
  auth_string = auth_string_generator(user,access_token)	# Hozzáférési sztring
  # --------------------
  smtp_conn = smtplib.SMTP('smtp.gmail.com', 587)
  smtp_conn.ehlo()
  #smtp_conn.set_debuglevel(True)		# Ha ez aktív, akkor kiírja futás közben az aktuális műveleteket
  smtp_conn.starttls()
  smtp_conn.docmd('AUTH', 'XOAUTH2 ' + auth_string)
  # --------------------
  img_data = open(image_name, 'rb').read()	# Kép megnyitása olvasásra
  msg = MIMEMultipart()
  msg['Subject'] = Subject
  msg['From'] = user
  msg['To'] = to
  msg['Cc'] = cc
  #
  text = MIMEText(Text)				# Üzenettörzs
  msg.attach(text)
  image = MIMEImage(img_data, name=os.path.basename(image_name))
  msg.attach(image)				# Kép csatolása
  # --------------------
  smtp_conn.sendmail(user,to,msg.as_string())	# Üzenet elküldése
  #
  print "Az üzenet sikeresen elküldve."

# -----------------------------------------------------------------------------------------
#sendmail (user, to, cc, Subject, Text, access_token, image_name)	# Függvény hívás
# -----------------------------------------------------------------------------------------