텍스트, HTML 및 틱 첨부 파일이 포함 된 멀티 파트 전자 메일을 보내는 Python 스크립트가 있습니다. 아이디어는 현대 이메일 클라이언트가 HTML 부분을 렌더링하고 이벤트를 사용자의 캘린더에 추가 할 것을 제안합니다. 이 작품Exchange로 보내기 : RTF 로의 HTML의 손실이 적은 변환을 사용하지 않도록 설정하는 방법?
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from icalendar import Calendar, Event, UTC, vText, vCalAddress
# ... set up calendar invite, render text and html templates ...
msg = MIMEMultipart('alternative')
msg_text = MIMEText(body_text, 'plain', 'utf-8')
msg_html = MIMEText(body_html, 'html', 'utf-8')
meeting = MIMEText(cal.as_string(), 'calendar;method=REQUEST', 'utf-8')
meeting.set_param('method', 'REQUEST')
meeting.set_param('name', 'meeting.ics')
meeting.add_header('Content-class', 'urn:content-classes:calendarmessage')
# ... set up various message attributes: to/from/subject ...
msg.add_header('Content-class', 'urn:content-classes:calendarmessage')
msg.attach(msg_text)
msg.attach(msg_html)
msg.attach(meeting)
s = smtplib.SMTP(smtp_server)
s.sendmail(sender, send_to, msg.as_string())
: 내가 메시지를 얻을, 그것은 HTML로 표시되며, 난 쉽게 Outlook과 맥 메일에서 내 캘린더에 이벤트를 추가 할 수 있습니다 같은
코드 보인다. 그러나 HTML이 손상되었습니다. 여기
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from rtf -->
내가 지금까지 알고있다 : 나는 달력 첨부 파일을 드롭하면, HTML은 변환없이 그것을 통해 만들어
- 여기에 HTML의 표지입니다.
- 메일에 마지막으로 첨부하면 일정 초대를받을 수 있습니다.
캘린더 첨부로 인해 첨부 파일이 Exchange에서 내 HTML 메시지를 엉망으로 만들 수 있습니다. HTML을 RTF 형식으로 변환하지 말라고 Microsoft에 요청하기 위해 메시지 나 HTML에 추가 할 수있는 헤더가 있습니까?
표창장을 받으시겠습니까? 이것에 대해 더 많이 읽고 싶어하지만 인터넷에서 찾을 수는 없습니다. – pkrish
위의 업데이트를 참조하십시오. –
감사합니다. 내가 겪고있는 문제는 Exchange 서버가이 주석 에서 변환 한 것입니다. Exchange 서버 설정을 방해하지 않고이를 방지하는 방법. – pkrish