postfix:Maildirの仕様とメール送受信の設定

postfixMaildirの仕様とメール送受信の設定について調べました。
最近メールの送受信がうまくいかないことがあり、メールボックスの中身を確認し調査した時のメモです。
Maildir内にはcur、new、tmpというサブディレクトリがあり、そのディレクトリに受信したメールが格納されるようです。


■ Maildirとは
Maildirは、電子メール格納フォーマットの一種で、メッセージは個別のファイルとして一意な名前付きで保持されます。
Maildir内にはcur、new、tmpというサブディレクトリがありそのディレクトリに受信したメールデータが格納されます。


■ Maildir内にあるcur、new、tmpディレクトリの仕様
・既読メール格納ディレクトリ

/home/[ユーザディレクトリ]/Maildir/cur

・未読メール格納ディレクトリ

/home/[ユーザディレクトリ]/Maildir/new

・配送メール格納ディレクトリ

/home/[ユーザディレクトリ]/Maildir/tmp

メールデータの状態に応じてそれぞれのディレクトリに分類されます。
メールデータの流れはtmp→new→curの順番でメールデータが移動します。


今回はメール送受信ができなくなったので、メールデータを調べてみるとMaildir内のcurディレクトリに容量が大きいデータが存在したため、そのデータを削除することで問題なく送受信が可能となりました。
しかし、なぜそのような現象になったかを調べていくとpostfixの設定で1通あたりの受信メールの設定や1人当たりのメールボックスの上限などの設定があり、その値を超えるとメールの送受信ができなくなるということがわかりました。
postfixの設定等を確認した時のメモを下記に記載します。


■ postfixの設定ファイル

vi /etc/postfix/main.cf

上記のファイルにpostfixの設定が記載されております。


■ postfix設定ファイル内のメールデータサイズ設定(main.cf)
message_size_limit

message_size_limit = 10240000

無制限する場合

message_size_limit = 0

mailbox_size_limit

mailbox_size_limit = 51200000

サーバによっては上記の設定が記載されていない場合があります。私の場合は記載がありませんでした。
記述がない場合はデフォルトで下記の値が設定されるようです。

mailbox_size_limit = 51200000
message_size_limit = 10240000

※「mailbox_size_limit」は「message_size_limit」より大きい値に設定しないとメールが受信できなくなります。
※メールボックスサイズよりもメールが増えるとメールを受信するスペースがなくなるため受信できなくなります。


■ メールボックスのサイズを調べる方法

postconf | grep size_limit
# postconf | grep size_limit
body_checks_size_limit = 51200
bounce_size_limit = 50000
header_size_limit = 102400
mailbox_size_limit = 51200000
message_size_limit = 10240000

■ postfixを再起動

/etc/init.d/postfix reload

メールサイズの設定を変更後、postfixを再起動することでサイズが変更され送受信が可能となります。

wordpress:wordpressで固定ページのコメント欄を削除

WordPressで固定ページに表示されるコメント欄を表示しないようにカスタマイズします。
お問い合わせのページを作ったら、二重にフォームが表示されたので固定ページからはコメント欄を削除しました。
Wordpressの固定ページテンプレートのpage.phpでコメント欄が表示する箇所をコメントアウトすれば、コメント欄は表示しなくなります。

■ 固定ページテンプレート(page.php)
「<?php comments_template( ”, true ); ?>」書いている箇所をコメントアウトします。
また、サイドバーが表示されていなかったので「<?php get_footer(); ?>」の上に
「<?php get_sidebar(); ?>」を追加しました。

<?php get_header(); ?>

        <div id="primary">
            <div id="content" role="main">

                <?php while ( have_posts() ) : the_post(); ?>

                    <?php get_template_part( 'content', 'page' ); ?>

                    // 下記をコメントアウト
                    <?php //comments_template( '', true ); ?>

                <?php endwhile; // end of the loop. ?>

            </div><!-- #content -->
        </div><!-- #primary -->
// 下記を追加し、サイドバーを表示
<?php get_sidebar(); ?>
<?php get_footer(); ?>

FCKeditor:FCKeditorでサーバーブラウザーボタンを無効にする

FCKeditorの「イメージ挿入/編集」でサーバーブラウザーボタンを表示しない方法を記載します。
FCKeditorの設定ファイルで「fckconfig.js」というjsファイルがあるので、サーバーブラウザーボタンの設定値を変更し、サーバーブラウザーボタンを無効にします。

■ サーバーブラウザーボタンが有効になっている場合
名称未設定-2

■ サーバーブラウザーボタンが無効になっている場合
名称未設定-4

■ FCKeditorの設定
FCKeditorを置いているフォルダの直下にfckconfig.jsがあります。
下記の設定で「true」の値を「false」に変更します。
fckconfig.jsを変更後、サーバーブラウザーボタン確認すると表示されていないことが確認できます。

FCKConfig.LinkBrowser = false ;
FCKConfig.ImageBrowser = false ;
FCKConfig.FlashBrowser = false ;
FCKConfig.LinkUpload = false ;
FCKConfig.ImageUpload = false ;
FCKConfig.FlashUpload = false ;

wordpress:wordpressの投稿記事内でjavascriptを使用する

投稿記事内で直接javascriptを記述し動作させようとしたが、投稿記事内ではscriptが機能しないらしいです。
なので今回は投稿記事内でjavascriptを動作させるために「inline-javascript」というプラグインを導入した際の方法をメモ。
「inline-javascript」インストールしてプラグインを「有効化」します。

■ 使用方法

[inline](使用するjavascriptを記述)[/inline]

[inline][/inline]で囲むだけで、正常に動作しました。

■ 使用例

[inline]
<script type="text/javascript">
    alert('wordpressの投稿記事内でjavascriptを使用');
</script>
[/inline]

※しかし、「inline-javascript」を有効にした際にサイト全体の表示(改行)などが崩れてしまった為、「Custom CSS and JS」をインストールして使用しています。

「Custom CSS and JS」の導入方法・使い方については「coliss」さんの、
WordPressの記事ごとに個別のCSS, JavaScriptを追加できるプラグイン -Custom CSS and JS
を参考にさせていただきました。

jQuery:jQueryを使用して<div>要素の表示・非表示

jQueryを使用して<div>要素をクリックした場合、別の<div>要素の表示・非表示を行いました。
また、jQueryを使用せずにjavascriptでも行った場合の方法を記載します。
jQuery日本語リファレンスを参考にしました。

■ jQueryメモ

toggle()

各要素のうち、表示状態にあるものを非表示にし、非表示状態にあるものは表示状態にします。

■ 使用例(jQuery)

[javascript]

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
    // 「id="jQueryBox"」を非表示
    $("#jQueryBox").css("display", "none");

    // 「id="jQueryPush"」がクリックされた場合
    $("#jQueryPush").click(function(){
        // 「id="jQueryBox"」の表示、非表示を切り替える
        $("#jQueryBox").toggle();
    });
});
</script>

[HTML]

<div id="jQueryPush">クリック(jQuery)</div>
<div id="jQueryBox">
    <p>jQueryを使用し表示・非表示</p>
</div>

■ サンプル(jQuery)

【ここをクリック(jQuery)】

jQueryを使用し表示・非表示

■ 使用例(javascript)

[javascript]

<script type="text/javascript">
window.onload = function(){
    Box = document.getElementById("javascriptBox");        // 「id="javascriptBox"」をBox変数に格納
    Push = document.getElementById("javascriptPush");    // 「id="javascriptPush"」をPush変数に格納
    Box.style.display = 'none'; // Box変数のstyleを「display: none;」にする

    // Push変数がクリックされた場合
    Push.onclick = function(){
        // 「id="javascriptBox"」が「display: block;」の場合、クリックすると「display: none;」にする。
        // また「id="javascriptBox"」が「display: none;」の場合、クリックすると「display: block;」にする。
        Box.style.display = Box.style.display == 'block' ? 'none' : 'block';
    }
}
</script>

[HTML]

<div id="javascriptPush" onclick="return false;">クリック(javascript)</div>
<div id="javascriptBox">
    <p>javascriptで表示・非表示</p>
</div>

■ サンプル(javascript)

【ここをクリック(javascript)】

javascriptで表示・非表示