Tôi nhận ra rằng một số điều đau đớn với SMTP và thư viện email và tôi nghĩ rằng tôi phải làm gì đó với nó. Tôi đã tạo một thư viện làm cho việc nhúng hình ảnh vào HTML dễ dàng hơn:
from redmail import EmailSender
email = EmailSender[host="", port=0]
email.send[
sender="",
receivers=[""]
subject="An email with image",
html="""
Look at this:
{{ my_image }}
""",
body_images={
"my_image": "path/to/image.png"
}
]
Xin lỗi vì thăng chức nhưng tôi nghĩ nó khá tuyệt vời. Bạn có thể cung cấp hình ảnh dưới dạng matplotlib Figure
, gối Image
hoặc giống như bytes
nếu hình ảnh của bạn ở các định dạng đó. Nó sử dụng Jinja để tạo khuôn mẫu.
Nếu bạn cần kiểm soát kích thước của hình ảnh, bạn cũng có thể làm điều này:
email.send[
sender="",
receivers=[""]
subject="An email with image",
html="""
Look at this:
""",
body_images={
"my_image": "path/to/image.png"
}
]
Bạn chỉ có thể cài đặt PIP nó:
pip install redmail
Đó là [hy vọng] tất cả những gì bạn cần để gửi email [có nhiều hơn nữa] và nó được thử nghiệm tốt. Tôi cũng đã viết tài liệu mở rộng: //red-mail.readthedocs.io/en/latest/ và mã nguồn được tìm thấy ở đây.
unread,
24 tháng 7 năm 2012, 3:19:40 AM7/24/127/24/12
đến
Tất cả các,
Tôi đang cố gắng tìm ra cách gửi hình ảnh trong phần thân của email khi đưa ra yêu cầu cuộc họp. Dưới đây là mã hiện tại của tôi.
Below is my current code.
Cảm ơn, Bruce
Bruce
# Mã bên dưới chủ yếu là từ //harunprasad.blogspot.com/2012/01/python-make-fooring-request-appointment.html # ---------------------------------------------------------------------------------------- ---------------------------------------------------------- --------------------------------------------------
#
--------------------------------------------------------------------------------------------------------------
Nhập win32com.Client OoutLook = Win32com.Client.Dispatch ["Outlook.Application"] appt = OoutLook.CreateItem [1] appt.start = '2012-07-24 08:00' appt.Subject = 'Cuộc họp thứ 5' appt. Thời lượng = 60 appt.location = 'Phòng hội nghị, chính'
oOutlook = win32com.client.Dispatch["Outlook.Application"]
appt = oOutlook.CreateItem[1]
appt.Start = '2012-07-24 08:00'
appt.Subject = '5th Meeting'
appt.Duration = 60
appt.Location = 'Conference Room, Main'
appt.body = "Đây là văn bản cơ thể
attach2 = "someimage.jpg"
appt.Attachments.Add [attach2] #prefer to have
attachment inline [body] of email
appt.meetingStatus = 1
appt.recipents.add [""] #entermer Email hợp lệ tại đây
appt.save [] appt.send []
appt.Send[]
In "Xong"
Ian Kelly
unread,
24 tháng 7 năm 2012, 4:11:05 AM7/24/127/24/12
đến Python
Trên Mon, ngày 23 tháng 7 năm 2012 lúc 11:19 sáng, đã viết:> Tất cả, >> Tôi đang cố gắng tìm ra cách gửi hình ảnh trong phần thân của email khi đưa ra yêu cầu cuộc họp.
> All,
>
> I am trying to figure out how to send a image in the body of a email when Making a Meeting Request.
Bạn cần sử dụng HTML trong cơ thể với một thẻ tham chiếu tệp đính kèm. Nhìn thấy:
attachment. See:
//stackoverflow.com/questions/4312687/how-to-embed-images-in-email
Một trong những câu trả lời có chứa một ví dụ cụ thể về Outlook, được viết bằng C# nhưng vẫn có thể chuyển đổi theo những gì bạn đang làm.
is written in C# but should
still be translatable to what you are
doing.
unread,
24 tháng 7 năm 2012, 4:33:02 AM7/24/127/24/12
đến
unread,
Tất cả các,7/24/12
Tôi đang cố gắng tìm ra cách gửi hình ảnh trong phần thân của email khi đưa ra yêu cầu cuộc họp. Dưới đây là mã hiện tại của tôi.
Cảm ơn, Bruce
>
> mail.BodyFormat = OlBodyFormat.olFormatHTML
# Mã bên dưới chủ yếu là từ //harunprasad.blogspot.com/2012/01/python-make-fooring-request-appointment.html # ---------------------------------------------------------------------------------------- ---------------------------------------------------------- --------------------------------------------------
Nhập win32com.Client OoutLook = Win32com.Client.Dispatch ["Outlook.Application"] appt = OoutLook.CreateItem [1] appt.start = '2012-07-24 08:00' appt.Subject = 'Cuộc họp thứ 5' appt. Thời lượng = 60 appt.location = 'Phòng hội nghị, chính'
Ian Kelly
unread,
24 tháng 7 năm 2012, 4:11:05 AM7/24/127/24/12
đến Python
Trên Mon, ngày 23 tháng 7 năm 2012 lúc 11:19 sáng, đã viết:> Tất cả, >> Tôi đang cố gắng tìm ra cách gửi hình ảnh trong phần thân của email khi đưa ra yêu cầu cuộc họp.
Outlook type library, all generated constants are available via
win32com.client.constants Try:
Bạn cần sử dụng HTML trong cơ thể với một thẻ tham chiếu tệp đính kèm. Nhìn thấy:
//stackoverflow.com/questions/4312687/how-to-embed-images-in-email
unread,
Một trong những câu trả lời có chứa một ví dụ cụ thể về Outlook, được viết bằng C# nhưng vẫn có thể chuyển đổi theo những gì bạn đang làm.7/24/12
đến
Tất cả các,
Tôi đang cố gắng tìm ra cách gửi hình ảnh trong phần thân của email khi đưa ra yêu cầu cuộc họp. Dưới đây là mã hiện tại của tôi.
in some form of visual basic error [possibly library related] if
anything and not a python traceback.
Cảm ơn, Bruce
unread,
# Mã bên dưới chủ yếu là từ //harunprasad.blogspot.com/2012/01/python-make-fooring-request-appointment.html # ---------------------------------------------------------------------------------------- ---------------------------------------------------------- --------------------------------------------------7/24/12
đến, Python
Nhập win32com.Client OoutLook = Win32com.Client.Dispatch ["Outlook.Application"] appt = OoutLook.CreateItem [1] appt.start = '2012-07-24 08:00' appt.Subject = 'Cuộc họp thứ 5' appt. Thời lượng = 60 appt.location = 'Phòng hội nghị, chính'
appt.body = "Đây là văn bản cơ thể
...
appt.BodyFormat = olBodyFormat.olFormatHTML
NameError: name 'olBodyFormat' is not defined
appt.meetingStatus = 1
...
appt.BodyFormat = win32com.client.constants.olFormatHTML
File "C:\Python26\lib\site-packages\win32com\client\__init__.py",
line 170, in __getattr__
raise AttributeError[a]
AttributeError: olFormatHTML
Bruce
unread,
# Mã bên dưới chủ yếu là từ //harunprasad.blogspot.com/2012/01/python-make-fooring-request-appointment.html # ---------------------------------------------------------------------------------------- ---------------------------------------------------------- --------------------------------------------------7/24/12
đến Python
unread,
24 tháng 7 năm 2012, 10:42:15 AM7/24/227/24/12
đến Python
Nhiệm vụ này hoạt động:
Nhập Win32com.Client OoutLook = Win32com.Client.Dispatch ["Outlook.Application"]
oOutlook = win32com.client.Dispatch["Outlook.Application"]
appt = ooutlook.CreateItem [0] appt.bodyformat = win32com.client.constants.olformathtml
appt.BodyFormat = win32com.client.constants.olFormatHTML
Nhưng nhiệm vụ này không hoạt động:
Nhập Win32com.Client OoutLook = Win32com.Client.Dispatch ["Outlook.Application"
oOutlook = win32com.client.Dispatch["Outlook.Application"
appt = ooutlook.CreateItem [1] #Appointment appt.bodyformat = win32com.client.constants.olformathtml
appt.BodyFormat = win32com.client.constants.olFormatHTML
Thuộc tínherRor: ... Đối tượng không có thuộc tính 'BodyFormat'
Nó chỉ đơn giản là xuất hiện một mục hẹn không hỗ trợ hình ảnh .BodyFormat được phân phối dưới dạng tệp đính kèm, không thể nằm trong cơ thể [nội tuyến] của email cuộc hẹn.
Images are delivered as attachments, can not be in the body [inline] of the appointment email.
Bruce
unread,
24 tháng 7 năm 2012, 10:42:15 AM7/24/227/24/12
đến, Python
Nhiệm vụ này hoạt động:
Nhập Win32com.Client OoutLook = Win32com.Client.Dispatch ["Outlook.Application"]
oOutlook = win32com.client.Dispatch["Outlook.Application"]
appt = ooutlook.CreateItem [0] appt.bodyformat = win32com.client.constants.olformathtml
appt.BodyFormat = win32com.client.constants.olFormatHTML
Nhưng nhiệm vụ này không hoạt động:
Nhập Win32com.Client OoutLook = Win32com.Client.Dispatch ["Outlook.Application"
oOutlook = win32com.client.Dispatch["Outlook.Application"