Làm cách nào để chúng tôi tạo một thông báo nhiều phần như vậy trong Linux khi chủ đề email và HTML và phiên bản văn bản của phần thân email được đưa ra?
Tạo một thông điệp loại multipart/alternative
như được ghi trong RFC 2046 :
Từ: Công ty mẫu <news@example.com>
Tới: Người dùng Joe <joe.u@example.net>
Ngày: Thứ bảy, ngày 21 tháng 5 năm 2011 17:40:11 +0300
Chủ đề: Ví dụ tin nhắn nhiều phần
Phiên bản MIME: 1.0
Loại nội dung: nhiều phần / thay thế; ranh giới = asdfghjkl
--asdfghjkl
Loại nội dung: văn bản / thuần túy; bộ ký tự = utf-8
Xin chào tất cả mọi người!
--asdfghjkl
Loại nội dung: văn bản / html; bộ ký tự = utf-8
<! DOCTYPE html>
<cơ thể>
<p> Xin chào mọi người! </ p>
</ cơ thể>
--asdfghjkl--
Xem RFC 2046 và RFC 5322 để biết cú pháp chính xác.
Chúng ta có thể sử dụng mutt để gửi email nhiều phần được tạo ở bước 1, từ dấu nhắc linux không?
Nếu bạn tìm cách đặt tiêu đề Kiểu nội dung phù hợp. (Trong ví dụ của bạn, bạn đang sử dụng -e
, nhưng mutt sử dụng -e
cho các mục đích khác nhau. Thậm chí -e "my_hdr Content-Type: ..."
còn giữ nguyên văn bản gốc / tiêu đề gốc.)
Tốt hơn là gửi thư được tạo trực tiếp thông qua sendmail
. Bạn sẽ phải tự tạo các tiêu đề - xem ví dụ; sử dụng strftime("%a, %d %b %Y %T %z")
cho Ngày và một chuỗi các ký tự chữ và số ngẫu nhiên cho đường biên. Sau đó chuyển thông điệp đã chuẩn bị, bao gồm các tiêu đề, sang sendmail -i -t
:
sendmail -i -t < above-example.txt
( -t
Tùy chọn này có nghĩa là "nhận người nhận từ dòng Đến: "; bạn có thể sử dụng thay thế sendmail -i joe.u@example.net
)