朝寝して宵寝するまで昼寝して時々起きて居眠りをする
« 梅とプラムの謎 | Main | 知らない国の知らない音楽を聴きたい »
xyzzy で編集しているファイル(またはバッファの内容)を Thunderbird に引き渡します。
コマンド→送信ボタンクリック の2アクションで簡単送信。
qwik.jp というメーリングリストと連動した Wiki があるのですが、ひとりでメモ帳として便利に使っているので、ささっとそのアドレスに遅れるように考えてみました。
添付ファイルとして送信するバージョンと、メール本文として送信するバージョンがありますが、本文で送信するバージョンはエラーが出やすいので、ソースコードなんかの場合は添付で送ってください(ただしファイルが存在しないと動作しません)
;;;;;;;;;;;;;;;;;;
;; ■ Thunderbird でメール送信
(defvar *thunderbird-exe-path* "thunderbird")
(defvar *thunderbird-setd-mailaddress* "******@qwik.jp")
(defun send-this-file ()
"Thunderbird で編集中のファイルを添付ファイルとして送信"
(interactive)
(let ((file (get-buffer-file-name)))
(when file
(if (and (buffer-modified-p)
(yes-or-no-p "ファイルを保存しますか?"))
(save-buffer))
(let* ((mail *thunderbird-setd-mailaddress*)
(subj (format-date-string "[BackUp Files] %Y年%m月"))
(body (concat (format-date-string "[%Y-%m-%d %H:%M:%S] ") (file-namestring file)))
(exe *thunderbird-exe-path*)
arg)
(setf arg (format nil "to='~A',attachment='file://~A',subject='~A',body='~A~%'" mail file subj body))
(call-process (format nil "\"~A\" -compose \"~A\"" exe arg))))))
(defun send-this-buffer ()
"Thunderbird でバッファの内容を本文として送信"
(interactive)
(let ((str (buffer-substring (point-min) (point-max)))
(buf (create-new-buffer "*SendMail Temp*"))
(bufname (buffer-name (selected-buffer))))
(set-buffer buf)
(insert str)
(goto-char (point-min))
(perform-replace "\\([^\\\\]\\)\"" "\\1\\\\\"" nil t nil t)
(let* ((mail *thunderbird-setd-mailaddress*)
(subj (format-date-string "[Memo] %Y年%m月"))
(body (concat (format-date-string "[%Y-%m-%d %H:%M:%S] ")
(format nil "~%~A~%~%" bufname)
(buffer-substring (point-min) (point-max))))
(exe *thunderbird-exe-path*)
arg)
(setf arg (format nil "to='~A',subject='~A',body='~A~%'" mail subj body))
(call-process (format nil "\"~A\" -compose \"~A\"" exe arg))
)
(delete-buffer buf)
))
« 梅とプラムの謎 | Main | 知らない国の知らない音楽を聴きたい »