これは、C# & .Net Framework 2.0/4.0 で作成しました


はじめに
メール送信する CUI です。
つまり、BlatJ.exe とか、UNIX 系の sendmail コマンドのようなものです。

普通に、System.Net.Mail 以下を使っているだけです。
ですので、SSL 部分は、STARTTLS になります。
SMTP over SSL に対応したい場合は、SSLforwarder などを使えばよいでしょう。
参考: SMTPでメールを送信する

デバグはあまりやっていないので、バグがあるかも知れません。
以下は既知ですが、どうしようもないような感じです。



動作環境
Microsoft .NET Framework2.0/4.0


インストール方法

まず、ランタイム(.NET Framework2.0/4.0)をセットアップします。

sendmail.net.lzh をダウンロードします。

ダウンロードしたファイルを解凍しします。
(LHAは、吉崎栄泰氏が、著作権を所有)

sCommonNET.dll をパスの通っているフォルダにコピーしてください。

sendmail.net[2|4].exe を、実行します。

あとは、画面の指示に従ってください。


使用方法
起動して使ってみれば分かると思います。

当然ですが、悪用厳禁です。

C:\>sendmail.net4.exe
sendmail.net4.exe ver 2.2.2.1
                            created by active@window.goukaku.com

usage : sendmail.net4.exe <<option>>
 Mail Body is Standard Input.

 OPTIONS
   -SmtpServer <<SMTP Server Address>> (must)
   -SmtpServerPort <<SMTP Server Port>> (Default:25)
   -Subject <<Subject>> (must)
   -Fromaddress <<From Mail Address>> (must)
   -ToAddress   <<To Mail Address>>
   -CcAddress   <<Cc Mail Address>>
   -BccAddress  <<Bcc Mail Address>>
   -ReplyToAddress  <<ReplyTo Mail Address>>
   -ToList  <<To Mail Address List File>>
   -CcList  <<Cc Mail Address List File>>
   -BccList <<Bcc Mail Address List File>>
   -AttachFile <<Attach File>>
   -CharSet <<Character Set>>
   -User <<username>>
   -Pass <<password>>
   -SSL
   -CheckCert
   -CertFile <<ClientCertFile>>
   -CertPassword  <<ClientCertPassword>>
   -OldMode {only .NET4.5 ... Old MailFormat (if set charset this option need)}
Error: No Set MailServer



削除方法
sendmail.net[2|4].exe と sCommonNET.dll を削除して、.NET Framework2.0/4.0 ランタイムを削除すればよいです。


リターンコード
バッチファイルで環境変数「ERRORLEVEL」で参照できると思う。

0正常終了
1SmtpFailedRecipientsException(一部のメールアドレスに送信できませんでした)
2System.Security.Authentication.AuthenticationException(SSL のサーバ証明書の検証が失敗しました)
249メール本文が標準入力から得られませんでした(no input from stdin)
250SmtpException(通信エラー)
251題名の指定がない(no subject)
252送信元メールアドレスの指定がない(no from mailaddress)
253SMTPサーバの指定がない(no smtps erver)



SSLについて
System.Net.Mail.SmtpClient の仕様上、STARTTLS にのみの対応です。
SMTP over SSL に対応したい場合は、SSLforwarder などを使えばよいでしょう。


SMTP 認証について
System.Net.Mail.SmtpClient の仕様上、AUTH LOGIN にのみの対応のようです。


既定の文字コード
sendmail.net2.exe では iso-2022-jp
sendmail.net4.exe の .NET4.0では iso-2022-jp
sendmail.net4.exe の .NET4.5では utf-8


免責など
著作権は一応保持します。
このソフトを使用したことによって生じた、
いかなる損害についても責任は持ちません。

このソフトを使用したいかなる不正使用に関する責任は、
すべて、本プログラムの利用者に属します。

ソースコードについても、各自の責任において、
自由にいじってくれてもいいです。

当然ですが、悪用厳禁です。


ver1.1.0.0 より 修正BSDライセンスで配布します。

(修正BSDライセンスにしても、あまり以前と、ライセンス条項って変わっていないような気がするんだよなぁ〜)


Version2.2.2.1DownLoad(sendmail.net.lzh as 63,013byte) (sendmail.net.lzh.base64)

履歴



StreamRelay.NET.exe
StreamRelay.NET.exe にもメール送信機能はあったりする


Qiita に記事を書いた
BlatJ.exeのようなsendmailのようなメール送信するCLIコマンド sendmail.net.exe


mail to active@window.goukaku.com