U
    ‰eaé  ã                   @   sl   d dl mZ d dlmZ d dlZd dlZd dl mZ d dlmZ ddd„Zdd„ Zdd	„ Zd
d„ Z	e	ƒ  dS )é    )ÚMIMEMultipart)ÚMIMETextNc              
   C   sŠ   t dƒ d}d}tjddd�}| ¡  | ||¡ d ||¡}	zt| ||||ƒ}
t |
ƒ W n* tk
r„ } zt |ƒ W 5 d }~X Y nX d S )Né   úbungeeinternal@bungeetech.comz123@456#789Billionzsmtp.office365.comiK  )ÚhostÚportzSubject: {}

{})ÚprintÚsmtplibÚSMTPÚstarttlsÚloginÚformatÚCreateMessageHtmlÚ	Exception)ÚsenderÚtoÚsubjectÚmsgHtmlÚmsgPlainÚattachmentFileÚusernameÚpasswordÚ
connectionÚmessageÚmsgÚe© r   ú"C:\Users\PC\Pytho\email_service.pyÚsend_email_oauth   s    r   c                 C   sx   t dƒ}||d< | |d< ||d< | t|dƒ¡ |d krN| dd¡}d |¡}| t|d	ƒ¡ d
t | ¡  ¡ ¡ 	¡ iS )NÚalternativeÚSubjectÚFromÚToÚplainÚ
z<br />
z…        <html>
          <head></head>
          <body>
            <p>{}
            </p>
          </body>
        </html>
        ÚhtmlÚraw)
r   Úattachr   Úreplacer   Úbase64Úurlsafe_b64encodeÚ	as_stringÚencodeÚdecode)r   r   r   r   r   r   r   r   r   r      s    ø	r   c                 C   sŠ  t dƒ}||d< | |d< ||d< t dƒ}t dƒ}| t|dƒ¡ | t|dƒ¡ | |¡ | |¡ td	| ƒ t |¡\}	}
|	d
ksŽ|
d
k	r’d}	|	 dd¡\}}|dkrÎt|dƒ}t| ¡ |d�}| 	¡  n„|dkrút|dƒ}t
| ¡ |d�}| 	¡  nX|dk�r(t|dƒ}t| ¡ |d�}| 	¡  n*t|dƒ}t||ƒ}| | ¡ ¡ | 	¡  tj |¡}|jdd|d� | |¡ dt | ¡ ¡iS )a§  Create a message for an email.

    Args:
      sender: Email address of the sender.
      to: Email address of the receiver.
      subject: The subject of the email message.
      msgHtml: Html message to be sent
      msgPlain: Alternative plain text message for older email clients
      attachmentFile: The path to the file to be attached.

    Returns:
      An object containing a base64url encoded email object.
    Úmixedr   Úfromr   r   Úrelatedr%   r#   z(create_message_with_attachment: file: %sNzapplication/octet-streamú/r   ÚtextÚrb)Ú_subtypeÚimageZaudiozContent-DispositionÚ
attachment)Úfilenamer&   )r   r'   r   r   Ú	mimetypesÚ
guess_typeÚsplitÚopenÚreadÚcloseZ	MIMEImageZ	MIMEAudioZMIMEBaseÚset_payloadÚosÚpathÚbasenameÚ
add_headerr)   r*   r+   )r   r   r   r   r   r   r   ZmessageAZmessageRÚcontent_typeÚencodingZ	main_typeZsub_typeÚfpr   r7   r   r   r   ÚcreateMessageWithAttachment4   sF    











rF   c                  C   s$   d} d}d}d}t || |d |ƒ d S )Nzshubham@bungeetech.comr   ztesting oauthz:<span style="color:red"><u><b><h2>red</h2></b></u></span> )r   )r   r   r   r   r   r   r   Úmaino   s
    rG   )N)
Zemail.mime.multipartr   Zemail.mime.textr   r8   r	   r   r   rF   rG   r   r   r   r   Ú<module>   s   
;