[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bug-mailutils] multipart/alternative not displaying in Yahoo.com
From: |
Jean Louis |
Subject: |
Re: [bug-mailutils] multipart/alternative not displaying in Yahoo.com |
Date: |
Tue, 18 Apr 2017 21:59:16 +0300 |
On Tue, Apr 18, 2017 at 09:16:45PM +0300, Sergey Poznyakoff wrote:
> Jean Louis <address@hidden> ha escrit:
>
> > I am compiling and will let you know.
>
> Thanks. I'm looking forward to it.
>
> > The email sending should be by standard, whatever Yahoo does, so I
> > hope that with my request, you did not disturb the standards of
> > sending such multipart emails.
>
> That's no problem, standards often leave sufficient leeway for
> misunderstanding between client and server. The case we're handling is
> just an example of this. Interoperability is very important, and I
> appreciate very much your help ( and perseverance :) ) in resolving
> this problem.
Thank you. It is working now in Yahoo, I can see the message. It looks
like charset is being set automatically? The HTML file shows
iso-8859-1 and I just hope it does not disturb vieweing the HTML file
which has inside UTF-8 settings, I still think it can disturb it.
It can be that I caused this problem by adding the Content-Disposition
or by not using correctly the mail utility. Below you can find how I
am using it.
;;; GNU Mailutils functions
;;; echo "Hello" | mail -a "Date: `/bin/date +'%a, %d %b %Y %T %z'`" -a "From:
Mr. John Doe <address@hidden>" -E 'set
record=maildir:~/Maildir/address@hidden' -s "Test (DELETE ME)" address@hidden
(defun mu-set-record (maildir)
(if maildir
(format nil " -E 'set record=maildir:~~/Maildir/~a' " maildir)
nil))
(defun mu-subject (subject)
(format nil " -s '~a' " subject))
(defun mu-from (name from)
(format nil " -a \"From: ~a <~a>\" " name from))
(defun mu-header-unicode ()
(concatenate 'string
" -a \"Content-Type: text/plain; charset=utf-8\" "
" -a \"Content-Disposition: inline\" "
" -a \"Content-Transfer-Encoding: 8bit\" "))
(defun mu-html-alternative (file)
(if (not (zerop (length file)))
(format nil " --alternative --content-type=text/html --attach=~a" file)
""))
(defun mu-to (name to)
(setf name (substitute #\- #\@ name))
(setf name (substitute #\. #\, name))
(setf name (substitute #\Space #\. name))
(if (> (length name) 0)
(format nil " \"~a <~a>\" " name to)
(format nil " \"~a\" " to)))
(defun mu-date ()
(format nil " -a \"Date: `/bin/date +'%a, %d %b %Y %T %z'`\" "))
(defun mu-attach (file)
(if (zerop (length (namestring file)))
""
(format nil " -A \"~a\" " file)))
(defun mu-attachments (attachments)
(if (listp attachments)
(format nil " ~{~a~} " (map 'list #'mu-attach attachments))
(mu-attach attachments)))
(defun mu-body-type (type)
(format nil " --content-type=~a " type))
(defun mu-mail (&key from-name from-email to-email (to-name "") subject
(set-record to-email) body (attachments "") (html-alternative "") (test nil)
(body-type "text/plain"))
(let ((mu-mail (concatenate 'string
"mail -E \"unset askcc\" "
(mu-date)
(mu-header-unicode)
(mu-from from-name from-email)
(mu-set-record set-record)
(mu-subject subject)
(mu-html-alternative html-alternative)
(mu-attachments attachments)
(mu-to to-name to-email)
(mu-body-type body-type)
)))
(if test
(format t "~%FROM: ~a ~a, TO: ~a ~a, SUBJECT: ~a~%"
from-name from-email to-name to-email subject)
(values (with-input-from-string (s body)
(uiop:run-program mu-mail :input s :external-format
uiop:*utf-8-external-format*))
mu-mail))))
;; (princ (cadr (multiple-value-list
;; (mu-mail :from-name "Jean Louis"
;; :from-email "address@hidden"
;; :to-email "address@hidden"
;; :to-name "Jean Louis"
;; :subject "Hello there"
;; :body-type "text/plain"
;; :body "Text message here čekaj ™ ® "
;; :html-alternative "/home/data1/protected/public_html/index.html") )
))
;; :attachments (list "/tmp/file" "/tmp/anotherfile")
and this one I use to send email by using makemime utility:
;; (ql:quickload "cl-rfc2047")
(defun makemime-send (text html &key from-name from-email to-name to-email
subject)
(let* ((text-file "/dev/shm/text-file")
(html-file "/dev/shm/html-file")
(text-file (progn
(alexandria:write-string-into-file text text-file
:if-does-not-exist :create :if-exists :supersede)
text-file))
(html-file (progn
(alexandria:write-string-into-file html html-file
:if-does-not-exist :create :if-exists :supersede)
html-file))
(makemime-file "/dev/shm/makemime")
(makemime-set (alexandria:write-string-into-file (format nil "-j
(
-m
multipart/alternative
-a
Mime-Version: 1.0
-a
From: ~a <~a>
-a
To: ~a <~a>
-a
Subject: ~a
-a
Content-Disposition: inline
-e
quoted-printable
-C utf-8
(
-c text/plain
-C utf-8
~a
)
)
(
-c text/html
-N HTML
-C utf-8
~a
)
" (cl-rfc2047:encode from-name) from-email
(cl-rfc2047:encode to-name) to-email
subject text-file html-file) makemime-file :if-exists :supersede
:if-does-not-exist :create))
(makemime (slurp-stream-io-command "makemime @-" makemime-set))
(sendmail (format nil "/usr/bin/sendmail -F \"~a\" -f ~a" from-name
from-email)))
(string-to-command sendmail makemime)))
;; (send-example)
(defun send-example ()
(makemime-send
"Hello čč"
"<!doctype html public \"-//W3C//DTD HTML 4.0 Transitional //EN\">
<html>
<head>
<meta http-equiv=\"Content-Type\"
content=\"text/html; charset=utf-8\"> <title></title>
</head>
<body>
<h2>Hello there</h2>
<p>http://www.google.com</p>
<p>This is some text here. č</p>
</body>
</html>"
:from-name "Jean"
:from-email "address@hidden"
:to-name "Mr. L č™''"
:to-email "address@hidden"
:subject "Hello there čč ™ omasdans kjnaksnd kjansdjkn akjnd jknajksnd
ajksns"))
;; (send-example)
- Re: [bug-mailutils] multipart/alternative not displaying in Yahoo.com, (continued)
- Re: [bug-mailutils] multipart/alternative not displaying in Yahoo.com, Jean Louis, 2017/04/17
- Re: [bug-mailutils] multipart/alternative not displaying in Yahoo.com, Sergey Poznyakoff, 2017/04/18
- Re: [bug-mailutils] multipart/alternative not displaying in Yahoo.com, Jean Louis, 2017/04/18
- Re: [bug-mailutils] multipart/alternative not displaying in Yahoo.com, Sergey Poznyakoff, 2017/04/18
- Re: [bug-mailutils] multipart/alternative not displaying in Yahoo.com, Jean Louis, 2017/04/18
- Re: [bug-mailutils] multipart/alternative not displaying in Yahoo.com, Sergey Poznyakoff, 2017/04/18
- Re: [bug-mailutils] multipart/alternative not displaying in Yahoo.com, Jean Louis, 2017/04/18
- Re: [bug-mailutils] multipart/alternative not displaying in Yahoo.com, Sergey Poznyakoff, 2017/04/18
- Re: [bug-mailutils] multipart/alternative not displaying in Yahoo.com, Jean Louis, 2017/04/18
- Re: [bug-mailutils] multipart/alternative not displaying in Yahoo.com, Sergey Poznyakoff, 2017/04/18
- Re: [bug-mailutils] multipart/alternative not displaying in Yahoo.com,
Jean Louis <=
- Re: [bug-mailutils] multipart/alternative not displaying in Yahoo.com, Sergey Poznyakoff, 2017/04/19
- Re: [bug-mailutils] multipart/alternative not displaying in Yahoo.com, Jean Louis, 2017/04/19
- Re: [bug-mailutils] multipart/alternative not displaying in Yahoo.com, Jean Louis, 2017/04/19
- Re: [bug-mailutils] multipart/alternative not displaying in Yahoo.com, Jean Louis, 2017/04/19
- Re: [bug-mailutils] multipart/alternative not displaying in Yahoo.com, Sergey Poznyakoff, 2017/04/19
- Re: [bug-mailutils] multipart/alternative not displaying in Yahoo.com, Jean Louis, 2017/04/19
- Re: [bug-mailutils] multipart/alternative not displaying in Yahoo.com, Sergey Poznyakoff, 2017/04/19
- Re: [bug-mailutils] multipart/alternative not displaying in Yahoo.com, Jean Louis, 2017/04/19
- Re: [bug-mailutils] multipart/alternative not displaying in Yahoo.com, Jean Louis, 2017/04/18