開発用の最もシンプルなSMTPサーバー

怠け者や気にしたくない人のために、Pythonで書かれた簡単なメールコレクターが提供されているExim4 / postfix / sendmailを設定することでタンバリンからほこりを吹き飛ばします[1]



彼の仕事は、この偽のsmtpサーバーに送信されたすべてのメールを収集し、シリアル番号とともにメッセージファイルnobody@mail.local.1の形式で指定されたフォルダー/ tmp / mailsに入れることです。





ステップ#1:nullmailerのインストール



標準的なカブでは、nullmailerが必要です。 そうでない場合は、 ダウンロードしてからインストールします。

sudo apt-get install nullmailer
      
      







/ etc / nullmailerに移動して、remotesファイルを追加します。

 localhost smtp
      
      







再起動:

 service nullmailer restart
      
      







DebianのようなLinuxでは、メッセージキューは/ var / spool / nullmailer / queue /にあります



ステップ#2:fakemailのインストール



fakemailスクリプトをダウンロードして解凍します。 標準の場合、実行
 python setup.py install
      
      



または、必要に応じてファイルfakemail.pyをコピーします。



今、私はそれをサービスとして実行させ、コンソールにぶら下がるだけではありません。

これを行うには、ファイル/etc/init.d/fakemailを作成し、次のコードをそこに貼り付けます。

非表示のテキスト
 #!/bin/sh set -e NAME=fakemail DAEMON=/usr/local/bin/$NAME.py DOPTIONS="--path=/tmp/mails" test -x "$DAEMON" || exit 0 PIDDIR=/var/run PIDFILE=$PIDDIR/$NAME.pid LANG=C export LANG . /lib/lsb/init-functions start_fakemail() { start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile --exec $DAEMON -- $DOPTIONS >/dev/null 2>&1 & } stop_fakemail() { if [ -f "$PIDFILE" ]; then PID=`cat $PIDFILE` kill -2 $PID rm -f "$PIDFILE" fi } case "$1" in start) log_daemon_msg "Starting MTA" start_fakemail ;; stop) log_daemon_msg "Stopping MTA" stop_fakemail ;; restart) stop_fakemail start_fakemail ;; esac exit 0
      
      









ファイルを手動でコピーした場合は、ファイルを編集する価値があり、6行目のDAEMONでPythonファイルへのパスを置き換えます。



実行させる:

 sudo chmod +x /etc/init.d/fakemail
      
      







ここで、(ルートの下に)/ tmpにメールフォルダーを作成する必要があります[2]

 sudo mkdir /tmp/mails
      
      







また、システムのシャットダウン中にサービスへのリンクを追加します。

 sudo ln -s /etc/init.d/fakemail /etc/rc0.d/K20fakemail sudo ln -s /etc/init.d/fakemail /etc/rc1.d/K20fakemail sudo ln -s /etc/init.d/fakemail /etc/rc6.d/K20fakemail
      
      







自動的に起動する必要がある場合は、次を追加します。

自動実行に追加するコード
 sudo ln -s /etc/init.d/fakemail /etc/rc2.d/S20fakemail sudo ln -s /etc/init.d/fakemail /etc/rc3.d/S20fakemail sudo ln -s /etc/init.d/fakemail /etc/rc4.d/S20fakemail sudo ln -s /etc/init.d/fakemail /etc/rc5.d/S20fakemail
      
      







サービスを開始します。

 service fakemail start
      
      







[1]主な資料は参照により見つかりました。サービスを追加しました。



[2]他のフォルダーも使用できますが、 / etc / init.d / fakemail内で必要です。ここで、 DOPTIONS =パスを変更します--path = / path / to / folder



All Articles