[C++] 162 SMTPプロトコル 仮想SMTPサーバーの設置 Intel Macへの回帰

[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