Làm cách nào để gửi thư từ dòng lệnh linux để nó xuất hiện dưới dạng HTML cho người nhận?


10

Tôi đã thử gửi email một trang web bình thường bằng cách sử dụng một cái gì đó như:

mail -s "Test Email" blah@blah.com < webpage.htm

Tuy nhiên, người nhận thấy các thẻ HTML thô trong email và không có định dạng cẩn thận nào của tôi. Đang sử dụng RedHat Linux.

Câu trả lời:


10

Bạn cần nói với MUA rằng nội dung có chứa HTML. Theo truyền thống, điều này được thực hiện bằng MIME. Hãy thử thêm các dòng tiêu đề sau vào tin nhắn của bạn:

Mime-Version: 1.0
Content-Type: text/html

Bạn cũng có thể cần phải thêm tiêu đề Mã hóa chuyển nội dung. Các trang Wikipedia trên MIME có thêm chi tiết, bao gồm các liên kết đến RFC liên quan.

Cập nhật: Điều này hoạt động tốt khi được dẫn vào sendmail -t:

From: me@example.org
To: me@gmail.com
Subject: MIME Test
Mime-Version: 1.0
Content-Type: text/html

<html>
<body>
This is a test.
</body>
</html>

Nếu tôi có loại nội dung application/xhtml+xmlthì nó là một tệp đính kèm. Bạn có nghĩ rằng nó có thể được sửa chữa?
Adobe

Một câu hỏi khác: nếu tôi có hình ảnh nội tuyến trong tệp html - làm cách nào để giữ chúng với phương thức này ( sendmail -t)?
Adobe

Đối với hình ảnh nội tuyến: Tôi đã tìm thấy một giải pháp - nhưng gmail sẽ không tải hình ảnh (yahoo do).
Adobe

2

Solvion một envio html

mail -a 'MIME-Version: 1.0' -a 'Content-Type: text/html; charset=iso-8859-1' -a 'X-AUTOR: Ing. Gareca' -s 'MTA STATUS: mail queue' rgareca@hotmail.com  -- -f seincotel@seincotel.com  < /tmp/eximrep.html


1

Chắc chắn là có thể với thư:

mail -a 'Content-type: text/html; charset="us-ascii"' foo@bar.com < /file.html

Tôi gặp lỗi: Content-type: text/html; charset="us-ascii": No such file or directory. Từ thư - trợ giúp, tôi nhận thấy tùy chọn -a là để truyền FILE.
Mitchhat Kumar Singh

0

Thông điệp email, như các trang web, có loại nội dung được chỉ định trong các tiêu đề. 'mail' dường như có trước điều này và không gửi bất kỳ, và vì vậy tất cả các MUA đều quay lại hiển thị tin nhắn dưới dạng văn bản / thuần túy.

Nếu bạn muốn chỉ định tất cả các tiêu đề theo cách thủ công, hãy gọi sendmail recipient@example.comvà chuyển mọi thứ cho nó.

<subjective>Nhưng hãy nhớ rằng trong khi các email HTML được không thích bởi một số người (trong đó có tôi), nhận email HTML mà không có một văn bản thay thế / phần đơn giảnthực sự gây phiền nhiễu . Vì vậy, trừ khi bạn hoàn toàn chắc chắn rằng người nhận có thể thấy tin nhắn HTML tốt, tốt hơn là gửi một tin nhắn nhiều phần với một phần văn bản đơn giản thay thế.</subjective>


SMTP (STD 11 / RFC 823, 1982) trên thực tế có trước MIME (RFC 2045, 1996) và tất cả các ưu điểm hỗ trợ HTML của nó. Nó được hình thành từ những con trâu ẩn náu vào buổi bình minh của Internet.
Gerald Combs

Gerald: Ý tôi là mailxMUA (vì lý do nào đó tôi cảm thấy thậm chí còn cũ hơn), chứ không phải email.
dùng1686

Theo trang OS X mail (1), "Lệnh mail xuất hiện trong Phiên bản 1 AT & T UNIX." Ubuntu cho biết đây là phiên bản 3 AT & T UNIX. Dù bằng cách nào, nó dường như đã xuất hiện vào khoảng năm 1971 hoặc năm 1973.
Gerald Combs

0

uuencode webpage.html webpage.html | mail -s "subject" email@address

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.