SynologyのNASにメールサーバーを立ててみた

前回の記事

domain.hatenadiary.jp

順調に稼働していたと思われたRPAによる自動化ですが??

メールチェックの頻度が高いのか、数時間程度回しているとメールサーバーから着信拒否されて、エラーで止まってしまうようになってしまいました。

メールサーバー激おこぷんぷん丸です。あんまりやりすぎるとアカウントが止められるということもありえなくはないので、そそくさと身を引きます。

そもそもなんでメール&RPAで面倒くさいことをしているのかといえば、できるだけリアルタイムにデータを反映させたいからです。

iPaaSではOutlookのカレンダーには非対応で、Googleカレンダーに対応しているところが多いです。ですからまずIFTTTを用いTweetをトリガーにして、Googleカレンダーに転載して、それをOutlookiCal形式でダウンロードすれば一番シンプルで手っ取り早いのですが、しかしiCal形式のデータがOutlookに反映されるまでには数時間から1日程度かかるので、せっかちな人間にはだるいわけです。

そこで自前のメールサーバーです

他人のメールサーバーを使えないなら、自前のメールサーバーを立ててしまえばよくない?早速ネットでWindowsで使えるメールサーバーを物色。

ところが意外とシェアウェアが多く、結構なお値段をぼったくられることが判明しました。無念。

じゃ、NASで。

幸いにも私はsynologyのNASを使っていて、ライセンス数は限られるものの、メールサーバーを無料で簡単に立てることができるのでした。

本当は全部NASで完結させたい。Dockerも動くしpythonも走る。(pip使えないしdocker-composeもいじれないけどね)だけど私の力量では無理なのです。誰かたすけて。

で、パッケージをダウンロードしてきましたが、

えーなんでやねん

まあ確かにDDNSではタイミングが悪いとメールを取りこぼしてしまいますが、原理的にできないわけではないので、勝手にどこか別のサービスからDDNS対応のドメインをもらいます。

www.dynu.com

今回はdynuで無料で取得しました。NASの設定の方では受付けましたが、Dynuの方でDNSレコードを自由に編集させてくれないので使用を断念

しかたがないので今度はバリュードメインで安い適当なドメインを取り、AレコードとMXレコードを追加します。

www.value-domain.com

ゼロ円ドメインあざっす更新料を払うかどうかはわからないけどね!

バリュードメインの場合DiCEでAレコードを書き換えることができるということですので、オンボロPCの方で巡回させます。

oh yes oh yes

おっ実態はDDNSですが設定できました

無駄に短いメールアドレスを生成

適当にSMTPIMAPを設定してコントロールパネルからポートを開けていきます。

メモリ爆食いです

メモリ不足です

サーバーとウイルス対策エンジンがメモリをモリモリ食べてしまい、勝手に落ちてしまいます。なおメモリの増設は可能ですが、純正品をつけないとエラーが出るらしく、純正品を買わざるをえない。DDR3の4GBのメモリひとつ1万円也。

セキュリティに関する設定の状況も表示してくれるので安心ですね

設定はこんなものでしょう

送受信していきましょう

まずは受信から。当たり前ですがIPアドレスがDiCEで正しく更新されていれば基本的に届きます。別にこれで問題なくRPAで処理はできるので終わりでもいいのですが、問題は送信です。

まあ一応ドメイン取ったので送ってみたいじゃないですか。ねえ?

私が中学生か高校生くらいの時には、メールアドレスなんて偽装し放題だったんですが、最近はかなりセキュリティが硬いです。急に取得したドメインで、突然立ち上がった新規メールサーバーから送信しても誰も信用してくれません。

それでmailgunを通すとよいと小耳にはさんだのでmailgunを中継させることに。月1000通まで無料で送れるようです。

www.mailgun.com

アカウントを作ったらドメインを追加して

TXTレコードを指定の通りに設定します

受信は自前のサーバーでやっているのでMXレコードは変更なし。 トラッキングがしたい場合はさらにCNAMEを設定する必要があるということです。

Mailgunのサーバーを指定して、

無事outlook.com宛に送れましたね。

いつのまにかWindowsでNoteshelfが使えるようになっていました

NoteshelfといえばiPadでGoodnotes5と並び人気を博するノートアプリですが、android版はいまいち評判がよくなかったり、Windowsに至ってはリリースすらされていませんでした。

公式サイトにも今のところ載っていませんが...

Microsoft Storeへのリンクがないじゃんか

ひっそりと10月5日にリリースされていた模様です。

apps.microsoft.com

現状UIは英語のみで、選べるクラウドストレージはDropboxだけですが、うれしい限りです。

文字認識機能は日本語の設定が存在します。

かなり機敏に動作し、起動も爆速です。

手持ちのSurface Go3 の中間モデルでの起動にかかる時間はおよそ

アプリ 起動時間
Microsoft Journal 7秒
Samsung Note 30秒
Nebo 30秒
Noteshelf 3秒

とかなり軽いことがわかります。

pdfの描画はやや重たいですが、これはSurface Go 3のスペックの限界というところでしょうか。

以上ご報告でした。

つぶやくだけのWindows用 Twitterクライアントが欲しいので素人なりに作ってみた

WindowsTwitter環境の現状

私はアイディア帳や日記を付けたり、予定表に書き込んだりする余裕のないときは、書きたいことを鍵アカウントにつぶやいておいて、あとでまとめるということをしています。なので基本的に文字だけパッと書けるだけのデスクトップウィジェットみたいなのがWindowsに欲しいと思っています。

ですが、画面の広さを活用したマルチカラムのTweetDeck風のアプリばかりで、起動も遅いしひとことツイートしたいだけなのにオーバースペックなわけです。

ツイートだけできるクライアントがあったが...

まずはこちらを見つけたわけですが

www.microsoft.com

UWPの画面サイズの制御は難しい

うーんクソでかいしクソダサい。

自分としてはもっとコンパクトなバーでいいわけですよ

だいたいこんな感じにしたい。無理だけど。

で、もう一つはVectorで見つけましたDesktop Tweet plus

desktop.blendmix.jp

おお!これだよこれ、これが必要なんだ。早速インストールするも...

最終更新日が2018年

認証できないじゃないですかやだー一生つぶやけないわー

というわけで自分で作ってみることにしました

まずはvisual studio 2022をインストールし、.NET関連のパッケージを大量にダウンロード

そしてデスクトップ用のWin UI 3アプリケーションを選択してプロジェクトを生成

あ、UWPにはあったXAMLデザイナーがWin UI 3 では使えないんだ...。めんどくせえ。それにwindowのサイズの変え方が分からないのでググると長いコードがでてきて、windowsサイズの指定だけでそんなに手間かかるのかよと思いつつ素人あるあるのコードコピペの術を駆使

そんでFluentデザイン風のタイトルバーの仕様とかマイカやアクリリックの適用方法を調べたが、私にはハードルが高いのでこんな感じになった。

自分で使う分にはとりあえずまあいいや。システムのテーマカラーがボタンに反映されている

こんな感じなら邪魔にならないだろう

Twitterの認証回りの英語のドキュメントを読んだがHTTP周りの知識が全然ないため、かなりだるくてアプリ内で認証するのは諦めた。

回避策としてIFTTTのwebhookのURLにテキストボックスの文章をPOSTして、IFTTTにツイートしてもらうことにした。zapierだとwebhook有料ですからね、IFTTT様には感謝です。NAS使ってn8nのサーバー立てても同じようなことができそうだけど素人がやるとセキュリティ的にどうなのっていうのはある。

あとは簡単、適当に文字を打ってツイートボタンが押されたらwebhook叩くだけ。ださいけどある程度のニーズは満たせました。

常に手前に表示する機能はPower Toysの機能で我慢です。

Powertoys入れとくと何かと便利

誰か作ってくれないかなー(チラッ

  • Fluent Designに完全準拠、タイトルバーの簡素化
  • アプリ内認証
  • ツイートの成否フィードバック機能
  • 素敵なアプリアイコン
  • 独自の常に手前に表示機能

ここまでやってくれるひといたらお金払いたいくらいですが、誰かこのしがない素人を助けてくださいませ...

あるいは類似ソフトの情報おまちしております。