Azure AppService (WebApps)で Sendmailを利用する方法。これでSendGridもPerlで使えます。

はじめに

くどうです。

Linuxではsendmailが重宝され、様々なアプリケーションで利用されています。
Postfixになっても互換コマンドが使えるなど永久に無くならないでしょう。

そこで、Azure AppService のWebAppsでsendmailを利用する方法を紹介します。
WebAppsは基本的にインストールは行えません。しかも中身はWindowsです。

では、どのようにWebAppsでsendmailを利用するか?fake sendmail for windowsを利用します。
fake sendmailはWindowsで動作するsendmail ライクなアプリケーションです。
しかも、インストールが必要なく単独で動作します。

fake sendmailを利用することでPerlに限らず、PHP、RubyなどWebAppsで動作する言語全てで利用可能です。
また、SMTP AUTHに対応しており、SendGridにも問題なく対応可能です。

今回は例として、PerlでSendGridを利用方法を紹介していきます。
WebApps + Perl + SendGrid の組み合わせです。
現状、これが一番シンプルな方法だと思います。

fake sendmailの設置

fake sendmail for windowsのサイトから、sendmail.zipをダウンロードしてきます。
解凍後、以下のファイルをkudu等を利用し、WebAppsにsendmailというフォルダを作成、保存します。
sendmail.exe
sendmail.ini
ssleay32.dll
libeay32.dll

設置例

次にSendGridで送信する設定をします。SendGridは事前に立ち上げUsernameを取得しておきましょう。
Passwordは作成時に設定しているものです。

sendmail.iniの以下の部分を編集します。

以上で、sendmailの設定は完了です。

次に実際に送信するPerlを準備します。

Perlで送信

perlをWebAppsで利用するには以下を参考ください。
App Service (Web Apps) でPerl CGIを動作させる。立ち上げてすぐ使えます。

Perlが利用できる環境で送信用スクリプトsendmail.cgiを設置します。

sendmail.cgiは以下です。基本的に、従来のsendmailと利用方法は同じです。

以下の部分でfake sendmailへ渡しています。

他にも、メールの内容を一度、外部出力して受け渡すことも可能です。

一旦、外部へ出力します。

コマンドとして外部へ出力したファイルを読み込みこませます。

一応、送信判定ができます。

送信結果

送信結果は以下です。
どちらで送信しても結果は一緒です。

まとめ

WebAppsでsendmailを利用する方法を紹介しました。sendmailは、これまでの様々なOSSで利用されているケースが多かったと思います。特に古いCMSなどなど。
紹介した通りWebAppsでは、SendGridを利用しsendmailで送信できる環境を簡単にできます。そのため、既存のアプリケーションの移行がスムーズに行えます。ぜひ活用してもらえればと思います。
ではでは

FaceAPIで初老じゃないことを証明します。

まとめ

くどうです。

まとめです。
初老丸 Advent Calendar 2016へのネタ投稿です。

まずは、初老を確認しました。

しょろう
【初老】
老人の域にはいりかけた年ごろ。また、もと、四十歳の異称

えっ!?40歳なの?

Facebookから自分の写っている20枚を選択し、Microsoft FaceAPIを利用して年齢を確認してみました。
結果です。

48才
48才
36才
43才
45才
43才
32才
42才
33才
39才
27才
36才
25才
平均41.4才
未検出7枚

見た目は初老なのか???

写真によってはバラツキがあります。
撮影した日や、角度によって変わるような感じがしますね。
正面がやはり正確ですね。

実際はしょろうじゃないですよ・・・

ではでは

App Service (Web Apps) でPerl CGIを動作させる。立ち上げてすぐ使えます。

はじめに

くどうです

さて、Azure App Service (Web Apps)でもPerl動かしたいですよね?
はい、動きますよ!

下記ではStrawberry Perlを使っています。これでも動きます。
Microsoft Azure Web App で Perl の CGI を動かす
https://memobog.azurewebsites.net/2015/09/25/microsoft-azure-web-app-%E3%81%A7-perl-%E3%81%AE-cgi-%E3%82%92%E5%8B%95%E3%81%8B%E3%81%99/

ですが、すでに現在はPerlは立ち上げてすぐに利用できます。
一発です!
Microsoft Azure Advent Calendar 2016のネタです。

Web.configの設置

Web.configの設置するだけで利用できます。

perl が最初からインストールされています。

あとはWeb.configを保存してサービスを再起動させるだけ。超簡単!!!

これでOK!!!

まとめ

インストールも必要ないですし、ひと手間必要ですが動作します。
全ての挙動は確認していません、、、hello worldぐらい(汗
あとは自己責任でw

ではでは