# This program uses the smtplib module to send emails
#
# Note:
# - smtp_info file has each item on separate line
# - email address used is specially created for this chapter
# - use input() for password to prevent storing in unencrypted file

# Connecting to an SMTP Server
import smtplib

with open('smtp_info') as config:
    # smtp_cfg = [email, password, smtp server, port]
    smtp_cfg = config.read().splitlines()

smtp_obj = smtplib.SMTP_SSL(smtp_cfg[2], smtp_cfg[3])  # Using port 465
print(type(smtp_obj))

# Sending the SMTP "Hello" Message
print(smtp_obj.ehlo())

# Logging in to the SMTP Server
print(smtp_obj.login(smtp_cfg[0], smtp_cfg[1]))

# Sending an Email
unsent = smtp_obj.sendmail(smtp_cfg[0], 'contact.me@JoseALerma.com',
                           'Subject: Bot test.\nDear Myself,\nAlways remember that with great '
                           'power comes great responsibility.\nRegards,\nYou')
print(unsent.keys())

# Disconnecting from the SMTP Server
print(smtp_obj.quit())

@@ -326,22 +326,8 @@
     
-# smtp_cfg = %5B
 emai
@@ -338,21 +338,16 @@
 assword,
- smtp
  server,
@@ -355,22 +355,8 @@
 port
-%5D%0A    smtp_cfg
  = c
@@ -415,31 +415,19 @@
 SL(s
-mtp_cfg%5B2%5D, smtp_cfg%5B3%5D
+erver, port
 )  #
@@ -581,32 +581,23 @@
 gin(
-smtp_cfg%5B0%5D, smtp_cfg%5B1%5D
+email, password
 ))%0A%0A
@@ -646,19 +646,13 @@
 ail(
-smtp_cfg%5B0%5D
+email
 , 'c

Update P01_sendingEmail multiple assignment for credentials