base64符号化で埋め込まれた画像が出ない

1,340 views
Skip to first unread message

Ryuji Suzuki

unread,
Jan 10, 2020, 12:01:44 PM1/10/20
to mew...@googlegroups.com

htmlの本文中でimg src="data:image/png;base64と、符号化で埋め込まれた画像が、表示されないようですが、解決方法はあるでしょうか。具体的には、以下のようなものです(PNG画像ですがインラインでbase64で埋め込んでいます)。これは自分のシグナチャなので出なくとも支障ありませんが、他にも似ていることをしている人がいるので。

(それとも、これはw3mの問題でしょうか?)

問題のところは、ソースをご覧いただくのが一番ですが、 img src="data:image/png;base64,iVBORw0KGgoAAAANSUh... のようになています。

Ryuji 
Suzuki, Ph.D.

Hideyuki SHIRAI

unread,
Jan 10, 2020, 7:46:55 PM1/10/20
to mew...@googlegroups.com, sh...@beaupix.com
こんにちは、白井です。

全面的に w3m + mew-w3m の話になりますね。
画像表示の UI ちょっと分かりにくいのですが、おそらく今のままでも、

;; (define-key mew-summary-mode-map "T" 'mew-w3m-view-inline-image)
;;
;; Press "T": Toggle the visibility of images in only the message.
;; Press "C-uT": Display images in Text/Html parts in any message.

の C-uT をすれば画像が表示されると思います。


もう少し説明すると、mew-w3m での画像表示の方法は下記のようになっ
ています。

mew-w3m-auto-insert-image (デフォルト nil)
t なら mew-w3m-safe-url-regexp に許可された画像のみ自動表示

nil なら一切自動表示せず "T (mew-w3m-view-inline-image)" で
mew-w3m-safe-url-regexp で許可された画像のみ表示

ここで、(defconst mew-w3m-safe-url-regexp "\\`cid:") となってい
て、"安全" とみなす image src は mime の cid part のみ

最初にかいた "C-uT" は "安全" を外して、全部の image src を
fetch しに行きます。


。。。なので、

(setq mew-w3m-auto-insert-image t)
(defconst mew-w3m-safe-url-regexp "\\`\\(cid\\|data\\):")

とすると、multi part に埋め込まれた画像と html に埋め込まれた画
像だけ自動表示になるかな?と思ったんですが、"https://" とかも表
示しちゃうので、emacs-w3m の方をもう少し見させてください。

### なにも覚えていない。。。

--
白井秀行 (mailto:hideyuk...@gmail.com)

Ryuji Suzuki

unread,
Jan 10, 2020, 9:07:09 PM1/10/20
to shi...@meadowy.org, mew...@googlegroups.com
From: Hideyuki SHIRAI (白井秀行) <shi...@meadowy.org>
Subject: Re: [mew-ja] base64符号化で埋め込まれた画像が出ない
Date: Sat, 11 Jan 2020 09:46:23 +0900 (JST)

> 画像表示の UI ちょっと分かりにくいのですが、おそらく今のままでも、
>
> ;; (define-key mew-summary-mode-map "T" 'mew-w3m-view-inline-image)
> ;;
> ;; Press "T": Toggle the visibility of images in only the messag
> e.
> ;; Press "C-uT": Display images in Text/Html parts in any message.
>
> の C-uT をすれば画像が表示されると思います。

それで表示されました。

> 最初にかいた "C-uT" は "安全" を外して、全部の image src を
> fetch しに行きます。

> (setq mew-w3m-auto-insert-image t)
> (defconst mew-w3m-safe-url-regexp "\\`\\(cid\\|data\\):")
>
> とすると、multi part に埋め込まれた画像と html に埋め込まれた画
> 像だけ自動表示になるかな?と思ったんですが、"https://" とかも表
> 示しちゃうので、emacs-w3m の方をもう少し見させてください。

「安全」の基準がわかりませんが、ビーコンなどのリンクを踏みたくないの
で、全部自動表示にはしたくありませんが、埋め込みは全部表示してもよい
のではないかと思います。

--
すずき りゅうじ(仮名) 注:音声は変えてあります.

Hideyuki SHIRAI

unread,
Jan 14, 2020, 7:54:04 AM1/14/20
to mew...@googlegroups.com, sh...@beaupix.com
白井です。

From: Ryuji Suzuki <sh...@beaupix.com> さん曰く
Subject: Re: [mew-ja] base64符号化で埋め込まれた画像が出ない
Message-ID: <20200110.210704.136154623...@beaupix.com>
Date: Fri, 10 Jan 2020 21:07:04 -0500 (EST)

>> とすると、multi part に埋め込まれた画像と html に埋め込まれた画
>> 像だけ自動表示になるかな?と思ったんですが、"https://" とかも表
>> 示しちゃうので、emacs-w3m の方をもう少し見させてください。

w3m.el 側にバグがあり、修正しました。

https://github.com/emacs-w3m/emacs-w3m

からどうぞ。

>> (setq mew-w3m-auto-insert-image t)

とすると、"cid:" または "data:" でメールに埋め込まれている画像は
自動的に表示します。

default の mew-w3m-auto-insert-image -> nil だと、

>> ;; (define-key mew-summary-mode-map "T" 'mew-w3m-view-inline-image)
>> ;;
>> ;; Press "T": Toggle the visibility of images in only the message.
>> ;; Press "C-uT": Display images in Text/Html parts in any message.

"T" で "cid:", "data:" が表示されます。"C-uT" で全部表示するのは
変わらずとなります。

> 「安全」の基準がわかりませんが、ビーコンなどのリンクを踏みたくないの
> で、全部自動表示にはしたくありませんが、埋め込みは全部表示してもよい
> のではないかと思います。

はい、その目的で全部自動表示はしない、としているのですが、去年ぐ
らいの w3m.el の改造で意図通りに動かなくなっていました。

--
白井秀行 (mailto:shi...@meadowy.org)

Ryuji Suzuki

unread,
Jan 14, 2020, 3:39:51 PM1/14/20
to shi...@meadowy.org, mew...@googlegroups.com
From: Hideyuki SHIRAI (白井秀行) <shi...@meadowy.org>
Subject: Re: [mew-ja] base64符号化で埋め込まれた画像が出ない
Date: Tue, 14 Jan 2020 21:53:40 +0900 (JST)

> w3m.el 側にバグがあり、修正しました。
>
> https://github.com/emacs-w3m/emacs-w3m
>
>>> (setq mew-w3m-auto-insert-image t)

これで解決しました。ありがとうございました。

Ryuji Suzuki
"No matter how much you study or improve vacuum tubes, you will not a
rrive at a transistor." (Leo Esaki)
Reply all
Reply to author
Forward
0 new messages