彰化一整天的論壇

 找回密碼
 立即註冊
查看: 217|回復: 16

【轉貼】[Python實戰應用]Python寄送Gmail電子郵件實作教學

[複製鏈接]
發表於 2021-6-30 16:53:52 | 顯示全部樓層 |閱讀模式
  1. import smtplib
  2. with smtplib.SMTP(host="smtp.gmail.com", port="587") as smtp:  # 設定SMTP伺服器
  3.     try:
  4.         smtp.ehlo()  # 驗證SMTP伺服器
  5.         smtp.starttls()  # 建立加密傳輸
  6.         smtp.login("pydemo123@gmail.com", "應用程式密碼")  # 登入寄件者gmail
  7.         smtp.send_message(content)  # 寄送郵件
  8.         print("Complete!")
  9.     except Exception as e:
  10.         print("Error message: ", e)
複製代碼
  1. content = MIMEMultipart()  # 建立MIMEMultipart物件
  2. content["subject"] = "Learn Code With Mike"  # 郵件標題
  3. content["from"] = "pydemo123@gmail.com"  # 寄件者
  4. content["to"] = "example@gmail.com"  # 收件者
  5. content.attach(MIMEText("Demo python send email"))  # 郵件純文字內容
  6. content.attach(MIMEImage(Path("koala.jpg").read_bytes()))  # 郵件圖片內容
複製代碼


文章來源: https://www.learncodewithmike.com/2020/02/python-email.html
回復

使用道具 舉報

發表於 2021-7-3 22:13:31 | 顯示全部樓層
它寄信比較麻煩,比不上EXCEL方便
還有分檔案類型,不是通用的
回復 支持 反對

使用道具 舉報

發表於 2021-7-4 09:50:27 | 顯示全部樓層
本帖最後由 imingho 於 2021-7-4 09:53 編輯
yws0915 發表於 2021-7-3 22:13
它寄信比較麻煩,比不上EXCEL方便
還有分檔案類型,不是通用的
excel_mail_20210704.jpg

Excel寄信UTF-8的字會變成?號,這個您有解法嗎?(例如:堃)
回復 支持 反對

使用道具 舉報

發表於 2021-7-4 10:18:20 | 顯示全部樓層
imingho 發表於 2021-7-4 09:50
Excel寄信UTF-8的字會變成?號,這個您有解法嗎?(例如:堃)

轉貼的這篇執行會出現.
Error message:  'str' object has no attribute 'get_all'
若有問題的可以用底下程式碼.
  1. import smtplib
  2. from email.mime.multipart import MIMEMultipart
  3. from email.mime.text import MIMEText
  4. from email.mime.base import MIMEBase
  5. from email import encoders

  6. sender = 'you_sender_email' #寄件帳號
  7. senderpw = 'you_senderpw_pw' #寄件密碼
  8. receive = 'you_receive_email' #收件人
  9. filename_title = 'file標題'
  10. filename = 'omaa.zip' # 附件的路徑
  11. content = '信件內容'


  12. fromaddr = "%s" % sender #寄件人信箱
  13. toaddr = "%s" % receive #收件人

  14. # instance of MIMEMultipart
  15. msg = MIMEMultipart()

  16. # storing the senders email address   
  17. msg['From'] = fromaddr

  18. # storing the receivers email address  
  19. msg['To'] = toaddr

  20. # storing the subject  
  21. msg['Subject'] = "%s" % filename_title  #標題

  22. # string to store the body of the mail
  23. body = "%s" % content

  24. # attach the body with the msg instance
  25. msg.attach(MIMEText(body, 'plain','utf-8'))

  26. # open the file to be sent  
  27. attachment = open("%s" % filename, "rb")

  28. # instance of MIMEBase and named as p
  29. p = MIMEBase('application', 'octet-stream')

  30. # To change the payload into encoded form
  31. p.set_payload((attachment).read())

  32. # encode into base64   
  33. encoders.encode_base64(p)  

  34. p.add_header('Content-Disposition', 'attachment',
  35.                 filename=('utf-8', '', "%s" % filename))


  36. # attach the instance 'p' to instance 'msg'
  37. msg.attach(p)

  38. # creates SMTP session
  39. s = smtplib.SMTP('smtp.gmail.com', 587)

  40. # start TLS for security
  41. s.starttls()

  42. # Authentication
  43. s.login(fromaddr, "%s" % senderpw) #寄件人gamil密碼

  44. # Converts the Multipart msg into a string
  45. text = msg.as_string()

  46. # sending the mail
  47. s.sendmail(fromaddr, toaddr, text)

  48. # terminating the session
  49. s.quit()
複製代碼

文章來源: https://aishuafei.com/python-gmail-yagmail/
excel_mail_20210704a.jpg
執行的結果.

回復 支持 反對

使用道具 舉報

發表於 2021-7-8 17:14:16 | 顯示全部樓層
imingho 發表於 2021-7-4 09:50
Excel寄信UTF-8的字會變成?號,這個您有解法嗎?(例如:堃)

這個我好像有在麻辣家族看過怎麼解
回復 支持 反對

使用道具 舉報

發表於 2021-7-8 21:05:35 | 顯示全部樓層
imingho 發表於 2021-7-4 10:18
轉貼的這篇執行會出現.
Error message:  'str' object has no attribute 'get_all'
若有問題的可以用底下 ...

目前用的python,比較常到對方收到是亂碼,還沒找到原因呢
回復 支持 反對

使用道具 舉報

發表於 2021-7-9 10:28:27 | 顯示全部樓層
yws0915 發表於 2021-7-8 17:14
這個我好像有在麻辣家族看過怎麼解

我剛剛去找找不到,請問您有連結嗎?
回復 支持 反對

使用道具 舉報

發表於 2021-7-11 21:36:58 | 顯示全部樓層
回復 支持 反對

使用道具 舉報

發表於 2021-7-12 09:26:57 | 顯示全部樓層
yws0915 發表於 2021-7-11 21:36
http://forum.twbts.com/viewthread.php?tid=13673

這篇是語系沒設,全部中文字都不會出現,我是語系有亨,不是big5的字會奱成?號,是大部分的big5的字都會顯示,utf-8的字變成問號。
回復 支持 反對

使用道具 舉報

發表於 2021-7-12 10:27:27 | 顯示全部樓層
imingho 發表於 2021-7-12 09:26
這篇是語系沒設,全部中文字都不會出現,我是語系有亨,不是big5的字會奱成?號,是大部分的big5的字都會 ...

我剛試了老師的是收件人姓名有堃會變問號,主旨跟內容正常
回復 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

 ㄚ母滴雞湯
 員林香純滴雞精

Archiver|手機版|小黑屋|彰化一整天的論壇(Excel,Office)

GMT+8, 2021-7-25 23:21 , Processed in 0.115649 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回復 返回頂部 返回列表