title: mail failed; [SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:645)
body: <p>This is a question about sending an email through an authenticated SMTP (not gmail). The below script was put together through various questions and answers on this site but I get an error that has no "googlable" candidates for this particular combination of tools. I'm working in Python 3.5.1 and it produces this error:</p>
  
  <blockquote>
    <p>mail failed; [SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:645)</p>
  </blockquote>
  
  <p>Is this client side error or server? Am I missing some certificates I'm not aware of? AFAIK server supports SSL authentication. Any thoughts and nudges in the right direction will be appreciated.</p>
  
  <pre><code>import sys
  from smtplib import SMTP_SSL as SMTP
  from email.mime.text import MIMEText
  
  # credentials masked, obviously
  SMTPserver = 'myserver'
  sender = 'mymail'
  destination = ['recipient']
  
  USERNAME = "myusername"
  PASSWORD = "mypass"
  
  # typical values for text_subtype are plain, html, xml
  text_subtype = 'plain'
  
  content = """\
  Test message
  """
  
  subject = "Sent from Python"
  
  try:
      msg = MIMEText(content, text_subtype)
      msg['Subject'] = subject
      msg['From'] = sender
      conn = SMTP(host=SMTPserver, port=465)
      conn.set_debuglevel(False)
      conn.login(USERNAME, PASSWORD)
  
      try:
          conn.sendmail(sender, destination, msg.as_string())
      finally:
          conn.quit()
  
  except Exception as exc:
      sys.exit("mail failed; %s" % str(exc))
  </code></pre>