投げ銭

★当サイトへの投げ銭(PayPal)★

LINK


(無償、寄付歓迎) logo
世界中で使われるISO標準オフィスソフト(MSオフィス互換)

★LibreOfficeの導入事例★
詳細について

人気の投稿(1ヶ月間)

Ad

Ad

投げ銭

★当サイトへの投げ銭(PayPal)★

2019年1月26日土曜日

【ASP .NET Core 2.0 MVC】controllerについて


アクションメソッド内で、普通にビューを呼び出さずに、
別のコントローラーのアクションメソッドを呼び出すには次のようにすればよい。

public class HomeController : Controller
    {
        public IActionResult Index()
        {
            return RedirectToAction("Index", "MerchandiseInfo");
            //return View();
        }



【ASP .NET Core 2.0 MVC】VIEWについて



VIEWにおいてコメントアウトするには次のように指定すればよい。

@*コメントアウトされる*@



【ASP .NET Core 2.0 MVC】デフォルトで開くWEBページの設定について(ルーティング)


WEBサーバーのアドレスにアクセスしたときに、
デフォルトで開かれるビューを提供するコントローラーとメソッドを指定するためには、
ソリューションエクスプローラーから、startup.csを開き、次のメソッドを編集する。


// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseBrowserLink();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
            }

            app.UseStaticFiles();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=AnotherControllerName}/{action=Index}/{id?}");
                    //template: "{controller=Home}/{action=Index}/{id?}");
            });
        }
    }

上記の例では、サーバーアドレスのみでhttpアクセスすると、内部的に、
指定しているコントローラー名、アクションメソッド名で呼び出しを補う。

これによって、自動的にAnotherControllerNameコントローラーの、Indexアクションメソッドがコールされ、
view()などによって、配置されているビューなどが処理され、ブラウザに表示される。

2019年1月8日火曜日

【Linux CentOS 7】dovecotにおいてsieveを導入しサーバーサイドでメールフィルタリングや保存フォルダ指定を行うための設定


ただし、すでに、CentOS 7においてdovecot(2.2.36)が導入されていて、
postfixが、dovecot-ldaコマンドを用いて配送しているものとする。


■追加のパッケージをインストールした。

# yum install dovecot-pigeonhole

Installed:
  dovecot-pigeonhole.x86_64 1:2.2.36-3.el7

Dependency Updated:
  dovecot.x86_64 1:2.2.36-3.el7

Complete!


# yum info dovecot-pigeonhole
Name        : dovecot-pigeonhole
Arch        : x86_64
Epoch       : 1
Version     : 2.2.36
Release     : 3.el7
Size        : 1.6 M
Repo        : installed
From repo   : base
Summary     : Sieve and managesieve plug-in for dovecot
URL         : http://www.dovecot.org/
License     : MIT and LGPLv2
Description : This package provides sieve and managesieve plug-in for dovecot LDA.


■dovecotでsieveを有効化した。

二つのファイルにおいて次のように該当個所を編集した。


# vi /etc/dovecot/conf.d/15-lda.conf
・・・
protocol lda {
  # Space separated list of plugins to load (default is global mail_plugins).
  #mail_plugins = $mail_plugins
  mail_plugins = $mail_plugins sieve}
・・・
# vi /etc/dovecot/conf.d/20-managesieve.conf
・・・
# Uncomment to enable managesieve protocol:
#protocols = $protocols sieve
protocols = $protocols sieve
・・・

○dovecotの再起動を行った。

# systemctl restart dovecot



■ThunderbirdにSieve 0.3.0を導入し、ルール作成と有効化を行う。

使用しているThunderbirdは 60.3.0(Linux 64bit) である。
フィルタリングルールはThunderbird側で行うことができる。


○Thunderbirdにsieveを導入した。

Thunderbird画面右上にある「≡」アイコンから、「アドオン」を開き、
拡張機能項目より「sieve」を検索し、インストールした。


○sieveの振り分けルールの作成を行った。

<Sieve Filterの有効化>

1、sieveによるサーバーサイドでのメール振り分けを行いたいIMAPアカウントを、
Thunderbird画面の左側にある一覧より選びクリックする。
2、再び「≡」アイコンから、「メッセージフィルタ」メニューより「Sieve Filter Settings(S)」をクリックする。
3、"Yes, manage Sieve scripts for this account: " を選択した。


<sieveフィルタルールの作成>

簡単のため受信フォルダ(INBOX)に保存するだけのルールとした。

1、再び「≡」アイコンから、「メッセージフィルタ」メニューより「Sieve Message Filters(M)」をクリックする。

2、Filter for: に、該当のIMAPユーザー名が表示されているか確認した。

3、右側の「NEW」ボタンをクリックして、フィルタスクリプト名を与えた。

4、一覧に表示されたフィルタスクリプトをダブルクリックして編集画面を表示させた。

5、上部の「Source」ボタンをクリックする毎にGUIあるいはCUI編集モードに切り替わるので、GUIモードにした。

6、左側に「Action、Tests、Operators、Debugging」と命令や演算子が分類されているので、「Action」を開いて命令一覧を表示させた。

7、「Action」命令一覧から「fileinto」をマウスドラッグして、隣枠上部にある細い長方形で囲まれた空白にまで持って行くと赤線が現れるので、ドロップした。

8、ドロップによって追加された項目をダブルクリックすると編集メニューが現れるので、次のように編集して保存する。


指定しているINBOXはデフォルトの受信トレイを表す。
別のフォルダも指定できる。

そのフォルダが存在しない場合も、下記画面のように「Create folder, When non existant」にチックしておけば自動生成される。
(ただし、そのフォルダはIMAPメールクライアントで「購読(サブスクリプト)」されていなければ表示がされない。)

受信トレイ配下に作成するサブフォルダは、受信トレイは通常「購読」されているので、
自動的にIMAPメールクライアントに表示される。

受信トレイ配下に作成するサブフォルダは次のように指定すればよい。

(例)INBOX.folder

編集が終わったら「Apply」をクリックする。



すると、次の画面のようになった。

最後に「Save」ボタンをクリックして、作成したルールを保存した。

9、フィルタルール一覧画面に復帰したら、右側にある「Active」をクリックして有効化しておく。これで作成したフィルタがDovecotサーバー側で有効になった。


■動作確認

テストメールを通過させた後、Dovecotサーバーマシンにおいてログを確認した。

# grep lda /var/log/maillog
Jan  8 06:39:03 xxxxxxxx dovecot: lda(xxxxxxxx@example.com): sieve: msgid=<xxxxxxxx>: stored mail into mailbox 'INBOX'

そして、IMAPメールクライアント側でも、テストメールを確認できた。

上述しているように、
該当サブフォルダについて「購読(サブスクリプト)」の状態がオフであれば、配信はされていてもクライアントで表示されないことになるので注意すること。



<参考>

・My IMAPサーバを再構築 (Fetchmail+Dovecot+Pigeonhole(Sieve))
< http://wadahiro.hatenablog.com/entry/2012/07/07/194820 > 2019年1月8日

・CentOS7 サーバ構築メモ/メール振り分け設定プラグイン設定
< https://www.terra.jp.net/dysd/centos7.html > 2019年1月8日

・Pigeonhole Sieve examples
< https://wiki.dovecot.org/Pigeonhole/Sieve/Examples > 2019年1月8日

・Add-ons / Sieve 0.3.0 by Thomas Schmid
< https://addons.thunderbird.net/en-US/thunderbird/addon/sieve/ > 2019年1月8日

・Sieve: An Email Filtering Language
< https://tools.ietf.org/html/rfc5228 > 2019年1月8日

投げ銭

★当サイトへの投げ銭(PayPal)★

Ad

Ad