[Intel Mac, Big Sur 11.6.5, clang 13.0.0, NO IDE]
『C言語によるTCP/IPネットワークプログラミング』(2001年)第2章 SMTPプロトコルのサンプルコードを参考に仮想SMTPサーバーへメールを送る実験に取り組んでいます。
Java製の仮想SMTPサーバー FakeSMTPがM1 Macでは起動できなかったため、Intel Macでの開発に切り替えました。
メールタイトルはUTF-8からISO-2022-JPを経て添付ファイルとともにbase64に変換しました。試行錯誤の末、やっとメールの送信に成功しました。
開発環境は整ったので、これから本腰を入れます。やはりアプリ開発・プログラミング学習をする上でIntel Macはまだまだ必要ですね。
mailtestコマンド(仮送信先と添付ファイル)
--------------------------------------------------
mailtest test_recv@example.com mailtest.h
--------------------------------------------------
出力
--------------------------------------------------
Subject: 日本語
instr 日本語
outstr BF|K\8l // ISO-2022-JP
sub_jis: BF|K\8l
sub_64: GyRCRnxLXDhs // Base64
b_subject: GyRCRnxLXDhs
GetData開始
test
.
instr test
outstr test
GetData pass
from: noMac-mini.local
soc: 3
sockaddr: 0x7ffee0f0b0c8
IP adrress: 0x7ffee0f0b0cc
HELO
>>>>>220 localhost ESMTP SubEthaSMTP null
MAIL FROM:
>>>>>250 localhost
RCPT TO:
>>>>>250 Ok
DATA
>>>>>250 Ok
Date: From:
Subject: =?ISO-2022-JP?B??=
To:
MIME-Version: 1.0
Content-Type: MULTIPART/mixed; BOUNDARY=
--
Content-Type: TEXT/plain; charset=ISO-2022-JP
--
Content-Type: application; name=; x-unix-mode=0777
Content-Transfer-Encoding: BASE64
Content-Description:
----
.
>>>>>354 End data with <CR><LF>.<CR><LF>
QUIT
>>>>>250 Ok