[2] IETF は RFC 2817 で本方式を Upgrade: TLS
という形で HTTP に持ち込むことを企てましたが、支持されませんでした。
[3] IETF はポート番号の枯渇を懸念して、 HTTP と HTTPS のように異なるポートを使う方法よりも STARTTLS のような命令をアプリケーション層プロトコルに含める方式が望ましいとしているようです。
[4] STARTTLS 方式は転送路とアプリケーションを分離する階層化された設計を否定する、 layering violation のようにも思えます。 アプリケーションプロトコル内部で平文モードから TLS モードや TLS モードから平文モードへの切り替えを実装しなければならないため、 セキュリティー上の問題をプロトコルや実装に生じさせてしまう例が実際にあったと RFC 7472 は述べています。そうでなくても、広義のソケット層の TLS とアプリケーション層で比較的綺麗にモジュール化できたはずのアプリケーション層プロトコルの実装が STARTTLS 方式では複雑になってしまいます。
[8] 認証メールを送るときには、587(starttls)じゃなくて、465(smtps)を使おう, https://zenn.dev/bitcat/articles/4f2c7d717b3053