DMARC は届かないことを通知するメールアドレスを指定できるが、ロリポップで指定する場合は、ネームサーバーを変更する必要がありそうだ。
2024年02月02日本日、ここまで、
- コアサーバーV2 10/10
- さくらインターネット スタンダードプラン 10/10
- ロリポップ 10/10
- Bizメール&ウェブ 対応中
試してみたことをメモ。考えたことをメモ。おっちょこちょいは治せない。
いろいろ試してみたけど、openVPNの自動インストーラでゴールで来た。
SSL証明書に既存のものを利用するように手動設定にこだわったけれど、やりたいことは皆さん同じようだ。
参考にさせていただ来ました。ありがとうございました。
https://dawaan.com/setting-up-openvpn-in-5-mins/
利用状況
メモ
インストーラーを使えば、設定を確認しながら進められる。
1日つまづいてしまったのは、ルーターのポートを開放していなかったため。
回線の節約で、簡易DMZ設定のない、YAMAHAのルーターに切り替えていたのを忘れていた。(泣、
This is the mail system at host ***.jp.
I’m sorry to have to inform you that your message could not
be delivered to one or more recipients. It’s attached below.
For further assistance, please send mail to postmaster.
If you do so, please include this problem report. You can
delete your own text from the attached returned message.
The mail system
<***@gmail.com>: host gmail-smtp-in.l.google.com[2404:6800:4008:c02::1a]
said: 550-5.7.1 [2400:***:***:***:***:***:***:***] The IP you’re using to
send mail 550-5.7.1 is not authorized to send email directly to our
servers. Please use 550-5.7.1 the SMTP relay at your service provider
instead. Learn more at 550 5.7.1
https://support.google.com/mail/?p=NotAuthorizedError
h2-20020a170902f54200b001c7347e993esi10950948plf.17 – gsmtp (in reply to
end of DATA command)
参考になりました。ありがとうございました。
postfix で IPv4 のみを利用するように設定。
/etc/postfix/main.cf
inet_protocols = all とあるが、main.cf の最後に下記を追記
inet_protocols = ipv4
Policy Blocklist (PBL)は、サービスプロバイダーからのブラックリスト削除要請しかうけないらしいので、VPSのサポートへ連絡した。
結果次第で、main.cf を元に戻すこととする。
This is the mail system at host ***.jp. I'm sorry to have to inform you that your message could not be delivered to one or more recipients. It's attached below. For further assistance, please send mail to postmaster. If you do so, please include this problem report. You can delete your own text from the attached returned message. The mail system <***@gmail.com>: host gmail-smtp-in.l.google.com[2404:6800:4008:c19:***:***] said: 550-5.7.1 [2400:8500:1302:3134:157:7:***:***] The IP you're using to send mail 550-5.7.1 is not authorized to send email directly to our servers. Please use 550-5.7.1 the SMTP relay at your service provider instead. Learn more at 550 5.7.1 https://support.google.com/mail/?p=NotAuthorizedError u6-20020a17090a410600b0026b0c3f1506si1032633pjf.155 - gsmtp (in reply to end of DATA command)
Gmail へ送信するとこのように受信してもらえなかったというメールが返ってきた。
Google アカウントへログインして下記のリンクを開き
https://support.google.com/mail/?p=NotAuthorizedError
「Postmaster Tools」から、承認を依頼すると、DNS へ TXT レコードを追加するように指示されます。
Virtualmin > ドメイン > Server Configuration > DNS Records > Create Record of Type: TXT にて追加
TXT レコードを追加して、承認されると、エラーなくメールを送信、手元の Gmail でも受信が確認できました。
2023.10.03 追記======================
IPv6がブラックリストに入っていた。
Gmail へ送信できたのは、たまたまIPv4だったから。
Gmail へ送信できない。Please use 550-5.7.1 the SMTP relay at your service provider instead.
さくらインターネットのレンタルサーバ、スタンダードプランの支払いにGMOあおぞらネット銀行のデビッドカードを設定できて、支払いにも成功したのだけれども、少しクセがあるのでメモ。
つまり、デビッドカードの場合には、月末の支払日より前に残高を請求額以上にしておかないといけないということ。
クレジットカードの与信ということになると思うのだけれども、デビッドカードの場合には、こういった癖があるということ。
最近、いくつかの銀行口座を作った。
申請時に覚えがないけれども、大手は普通のキャッシュカードとデビッドカードの2つ。
新興のネット銀行は、キャッシュカードとデビッドカードが1つになったカードが1つ送られてきた。
オプションでクレジットカードの希望はあった。
2023年6月現在
Gmail については、返信先のアドレスが、送信元のドメインと異なると、「550 5.7.1 header are not accepted.」として、配送されずにエラーメールが返ってくる。
表題とは少し異なるがレンタルサーバから悲鳴も上がっている。
https://help.sakura.ad.jp/notification/440-2/
https://www.value-domain.com/information/detail/?no=20230607-2
ということで、サイトの「お問い合わせ」メールフォームのプログラムについて改修する。
独自ドメインのメールは、知る限り多くの場面で「迷惑メールフォルダ」に入ってしまう。
つい最近までは使っていたのだけれども、Gmail を有料で使う Google Work Space についてはどうなっているかは不明です。
ドメインは、独自のネームサーバを指定できるドメイン管理サービス。ここではバリュードメイン。
そもそもは、送受信サーバに、「mail.example.com」とできるサーバーを探すこと。
mail.example.com のレンタルサーバからの引っ越しが必要になった場合は対応可能ということがわかった。
VPS のプランはいろいろあるけれども、
レンタルサーバのサポートほど細かいことはできないかもしれない。自分でいろいろできるのはある意味気持ちが楽になる。サポート頼みのほうが気楽かもしれないけれど、いろいろ考えさせられる場面に出くわすことが多いため、今回のVPS検証に至った。
ただ、レンタルサーバの3倍の維持費になりそうなので、今のところレンタルサーバのサービスと仲良くしていくことになる。
$hostname = 'example.com';
$ns_server = 'ns1.example.com';
$dns_records = dns_get_record('x._domainkey.'.$hostname, DNS_TXT, ['nameservers' => [$ns_server]]);
foreach ($dns_records as $record) {
if (strpos($record['txt'], 'v=DKIM1') !== false) {
echo $record['txt'];
break;
}
コアサーバーのsshで取得できる文字列は取得できなかった。やはり公開エリアからは権限がないかな。
ChatGPT すご。
ログを調べなければいけない事案があったので、FTPでログファイルを取り出した。
コアサーバーのサポートへ問い合わせたが、ログファイルは7日間だけで変更はできない。
date_default_timezone_set('Asia/Tokyo');
$ymd = date("Ymd");
$mmdd = date("md");
$jikan = date("G");
$yyy = date("Y");
$mmm = date("M");
// コアサーバーのログファイル名 May-2023.tar.gz
$logfile = "$mmm-$yyy.tar.gz";
$logfiletoday = "/home/ユーザ/domains/ドメイン.jp/logs/$logfile";
// ファイル名を変数に格納
$filename = "/home/ユーザ/domains/ドメイン.jp/public_html/秘密-logs/$mmdd.tar.gz";
// ファイルが存在するかチェックする
if (file_exists($filename) and $jikan > 6) {
echo "logfile:ok";
} else if (copy($logfiletoday, $filename)) {
echo $logfile;
} else { echo "logfile:error"; }
月はじめ1日、todayのファイルが2つできる時間帯があるようだ。コピーするタイミングによっては情報に欠落が出る場合がある。
Update in process. と表示されて何も操作できなくなった。
インストールしたときの画面で見ると、アップデートボタンが赤くなっているので、クリックしてみたら、アップデートが通った。
アップデート無事終了。何度か画面がタイムアップしてしまったけど、アップデート自体は進んでおり、再接続することで確認できた。
実際、ブラウザで Nextcloud へアクセスすると正常に動作できていた。
コアサーバーのコントロールパネルからインストールしたアプリとして、ver.26 へアップデートをかけると NextCloud が壊れる。
直前にバックアップがあるなら、新たに、「Nextcloud Hub 3 (25.0.7)」をインストールしてバックアップをインポートすることになる。
5月に、バックアップも削除してしまったので、まっさらな Nextcloud で再出発となった。100ギガ以上使っていて、ダウンロードも何もできなかった。
ver.26 を新規でインストールも失敗する。
たぶん php のモジュールとかの関係と思おうが、カスタマイズしたり、サポートをうけたりと手間をかけすぎないようにしたい。
メールサーバを Google WorkSpace にする。
メールアプリの設定は、
imap.gmail.com
smtp.gmail.com
となり、SPF、逆引き、DKIM は pass となる。
PCでも、スマホでも Gmail の設定は簡単にできるようになっている。
その意味で、いろんなスキルの人の集まり、組織で採用される可能性は高くなるかもしれない。
多くのレンタルサーバのメールアカウントを独自ドメインで設定するときには、それぞれにコツがあったりする。メールアプリが自動で進めてエラーが出ることが多く、「手動設定」「詳細設定」などでアプリの自動設定を修正していかなくてはならない。明示的にSSL通信を設定したいものだ。
https://help.coreserver.jp/manual/v1/customfilter/
途中の設定に、受信方法の「破棄」というのがある。
言葉的に、こんな設定で良いの?と思ってしまうが、破棄前提で条件分岐で通常のメールは届くように設定してあげることになる。
3番をしてしてあげないといけないところが、敷居が高い。
旧コンパネで確認できる設定例
:0HB
*
* ? /usr/bin/nkf -meZ2 | sed ‘s/[[:space:]]//g’ | grep ‘良くない言葉’
$MAILDIR/.Trash/new
:0HB
* .*
$MAILDIR/
説明:「良くない言葉」というテキストがあると、「Trash」フォルダに入る。
この「Trash」がくせ者で、手元のメールアプリのごみ箱へ受信するというものではない。
(IMAPで試せば、ごみ箱も同期するかもしれないが試していない。)
ウェブメールで確認で確認すると、ごみ箱に入った。
他のアカウントを試すと、ごみ箱がない!
ウェブメールで確認しようとするが、Roundcube(ラウンドキューブ)で確認すると、デフォルトだとごみ箱が表示されない。
Roundcube(ラウンドキューブ)の場合は、アカウントでログイン後に、送信や、削除の操作をしないとフォルダを表示しない。
デフォルトのウェブメールアプリ、SquirrelMail(リスのアイコン) でログインして確認するのが良いが、SquirrelMail だと、文字化けしたり、レイアウトが崩れたりで、使用を避けていた。
ウェブメールでログインして確認
Roundcube(ラウンドキューブ)
https://サーバ.coreserver.jp/mail/src/login.php
SquirrelMail(リスのアイコン)
https://サーバ.coreserver.jp/mailr/
Roundcube(ラウンドキューブ)で確認する場合は、削除の操作をして、「ごみ箱」を表示させよう。
メモ
ごみ箱から、削除されるタイミングはわかっていないけど、「ごみ箱」確認しないと大量残り続ける可能性があるね。
コアサーバー
https://help.coreserver.jp/manual/v2/ssh-use/
Tera Term で進めている。Windows のコマンドプロンプトも SSH のコマンドは使えるが、証明書を使う仕様の接続には対応していないようだ。
自分の環境は、Mac に 仮想で Windows と CentOS を入れている。Tera Term をインストールすることなく作業を進められるなら、都合がよい。
mac でコアサーバーに接続 参考サイト
https://oncologynote.com/?dcc506d23f
mac ターミナルにて
隠しファイルが見えない場合は:Shift + コマンド + ピリオド
証明書の場所:「ダウンロード」でもOK、権限の変更は必要
下記でも接続できる
SSH ユーザー@v2002.coreserver.jp -i /Users/マックユーザー/Downloads/文字列_rsa
コアサーバでのコマンド作業が終わったら:exit でログアウト
近々作業がない場合は、コアサーバのSSH設定を削除、手元の証明書を削除しておくことにした。
https://hkzo.org/2021/09/dkim-enabled-coreserver-v2/
上記の様子で、2022年4月上旬までは、できていたのだけれども、うまくいかなくなった。
「dig txt x._domainkey.example.com. @xxxx.coreserver.jp」がきかない。
connection timed out; no servers could be reached
となる。
いちいちバリュードメインのサポートを受けるのも時間がかかる。
ぼんやりコマンドを眺めていると、サーバーを指定して、txt を問い合わせている。
DNSに書き込む前なら、サーバー内で問い合わせられるかな?
ということで、SSHを試すことにする。
参考サイト
コアサーバー
https://help.coreserver.jp/manual/v2/ssh-use/
アプリ Tera Term
<<リンク先が拒否しているようで表示できないので別ページで、mac で使えるように説明する予定。>>
ssh で
dig txt x._domainkey.****.co.jp
→2022.06.16 追記上記ではダメ、dig txt x._domainkey.****.co.jp. @xxxx.coreserver.jp
として、結果が表示され、文字列をコピーできる。
(1)の参照サイトのように、改行や、「’ ‘」がないようにして、ドメインのDNSへ追記する。
check-auth@verifier.port25.com へメールを送信
========================================================== Summary of Results ========================================================== SPF check: pass "iprev" check: pass DKIM check: pass ==========================================================
2023.07.25 追記========================
コンパネに表示されるようになっていた。
コアサーバーはメールアカウントを誤った状態で設定していると、自分が契約しているサービスなのに、利用できなくなります。
・V1プランは、メール接続のみ。ウェブメールの利用はできる。
・V2プランは、メールもウェブも自分のサービスに接続できなくなる。
拒否されている回線から、契約しているサービスのコントロールパネルにログインして、しばらく待つ。
自分の場合は、iPhone でした。サーバーを乗り換えて、パスワードや、アカウントの接続情報が変わったのに、エラー表示もないまま、接続を繰り返して、ブロックされてしまいました。
他の人の場合、Windows メール
なんとバックグランドでしれっと動いている。
何度となく、outlookなどの設定を見直しても、原因がわからないのはこのため。
よく見かける、設定方法を解説したページでも、outlook と Windowsメールの設定が混在している説明が多い。
特殊なケースとしては、Windows10 なのに、Windows live メール を使っていたケース。
これは、実機を見ていないのだが、PCを利用していた人は気が付かない状態で動いていた。
Windows live メール はサポートも切れているし、Windows live メール からメールを送信すると、迷惑メール扱いされる可能性が大きいから、メールアプリとしては使うのを避けたい。
それでも、カレンダー機能など使い慣れているから、使い続けている人がかなりいるようだ。
いずれにしろバックグランドで、エラー表示が表に出てこないうちに、接続エラーを何度も繰り返して、自分の契約しているサーバからブロックされてしまうという、切ない事態になってしまう。
または、ほかのサーバー、以前のサーバーに「攻撃」を繰り返す状態が続いてしまう。
見直したいものだ。
brew -v
なければ、インストールする。自分は、brew の管理をまめにできないので、
普段あまり使わないテスト用のMac にインストール。
あれば、brew をアップデートするメンテが必要。
https://brew.sh/index_ja
長いコマンドでインストール
X-code など少し時間がかかる
https://formulae.brew.sh/formula/webalizer
短いコマンドでインストール
ファインダーで隠しファイルを可視化
shhift + コマンド + ピリオド
ファインダー 移動 コンピュータ
「コンピュータ」から開かないと見つけられない場所、カラム表示が作業しやすい。
/usr/local/Cellar/webalizer/2.23-08_2/
設定ファイルをサンプルから作る。ファインダーで普通にコピーしてリネーム
/usr/local/Cellar/webalizer/2.23-08_2/etc/webalizer.conf
ログファイルの場所、指定ファイルがうまく開けず、一応 Apache 由来のフォルダにしてしまっているがわかりやすい場所で良いと思う。
.gz でなければ結果が出なかった。(アクセス権とか場所とか改行コードとかいろいろ試したけどコレで解決)
LogFile /Library/WebServer/Documents/log.log.gz
ガチャガチャいじったので一応これも
LogType clf
解析結果の出力先。サンプルに近いところにしたけど、これも任意の場所でいいと思う。
OutputDir /var/lib/log
1日1ファイル、3か月以前は自動で消えていくので、毎月1か月分をこつこつダウンロードしている。
wwwの有り無しでも分かれているので、毎月1ドメインで、60回くらいダウンロード操作が必要。
簡単になればよいのにと思うけど、ログファイルをまとめて解析するニーズがあまりないのだと思われる。
Googleアナリティクスあるし、、、404とか見つけられるし、500も何回あったかでサイトの健康状態もあわかると思うのだけれど、、。
・・・・・
・・・・・
ドメイン.jp_20220111.log
ドメイン.jp_20220112.log
ドメイン.jp_20220113.log
ドメイン.jp_20220114.log
ドメイン.jp_20220115.log
・・・・・
・・・・・
ダウンロード直後に解凍されてしまうと上のようになる。
.gz のままの場合もあるけど、ファイルをまとめるのに .logのほうがいいのかな。
ファインダーでわかりやすい場所のフォルダにログファイルをまとめておく
コマンドでディレクトリを移動し、
cd /Users/ユーザ名/Downloads/ドメイン.jp_2022フォルダ
ファイルをまとめるコマンド
cat *.log > log.log
.gz に圧縮するコマンド
gzip log.log
log.log.gz ができる。( log.log はなくなった)
webalizer の設定ファイル(webalizer.conf)で指定した場所に log.log.gz を移動
普通にドアラッグ&ドロップ
/Library/WebServer/Documents/log.log.gz
コマンドで
webalizer
うっかり、ログのある場所でこのコマンドを使ったけど、どこでも使えるみたい。
コマンドによっては、ディレクトリを指定する必要がある。
レポートの出力先にウェブページができているので、ダブルクリックでブラウザが表示してくれる
メールのタイトルが文字化けして、スパム判定まで受けてしまっている。
自宅サーバーから、ロリポップのサーバーへ移築したサイトで、メールフォームからのメールタイトルが文字化けしている。
メールフォームのプログラムは、こちら
サーバーを移築してから受信するメールのタイトルが文字化けして、しかもスパム判定まで受けている。
スパム判定しているのは、受信しているメールサーバー、コアサーバーV2 。
確認のために、新たに設定したメールフォームでは正常に受信。しかし、本番の設定を施すと、文字化けしてしまう。
変わっているのは、「,」カンマでメールの宛先を複数指定していること。
cgiプログラムの、「init.cgi」での複数宛先をやめて、単独のメールアドレスにした。
受信させたい複数のメール宛先は、メールサーバの転送設定で設定するようにした。
ワードプレスなどのメールフォームのプラグインでは、送信前の確認画面がでなかったり、確認画面をだすために有料版になるものがある。
そんな中で、このフォームメールプログラムは、確認画面も出て使いやすい。以前にユーザー登録してから、ずっと使わせていただいている。ユーザー登録当時のメールアドレスから、こちらのメールアドレスは独自ドメインのものに変わってしまった。
この場ではありますが、良いメールフォームプログラムに感謝させていただきます。
v2001はそのままで、Nextcloud Hub 23.0.0 インストールできたが、v2002 では思うようにいかなかった。
errstr =
Technical Error: 1146 Table ‘***_nc2.nc_users’ doesn’t existSELECT u.`uid` FROM `nc_users` u, `nc_group_user` g WHERE u.`uid`=g.`uid` AND g.`gid`=’admin’ LIMIT 1
サポートに連絡した後に、phpのバージョン変更を試してみようと考えたところに、返事が来た。
phpのバージョンを変える。おまじないかもしれない設定もあり。いわれるとおりにしてみた。
インストールできました。
2022年2月2日現在に、v2002 のサーバー申し込みができない状況になっている。
メンテも入っているようなので、上記のようなインストールできない&解決策は必要なくなっているかもしれません。
自分のサーバーから、レンタルサーバーへ引っ越しした。
数日経って、サイトにもメールにもアクセスできない状態になってしまった。
プロバイダーの回答:
アクセス制限をすることはいっさいない。telnet を勧められた。Mac の端末から問い合わせたので、Mac 用に homebrew で利用する方法だったが、Android のアプリで探して、Android Fing というアプリを使った、
Fing > ネットワークのトラブル・・・> Traceroute
タップするだけで、サーバーまでのIPアドレスのリレーを表示してくれた。最後のゴールを意味するフラッグがなぜか愛おしかった。
問題の接続できないサーバーもは、あるIPアドレスで止められていた。
問題のない接続では、あるIPアドレスの直後が目的のIPアドレス。
この情報を使って、サーバーのサポートに問い合わせた。
サーバー側の回答:
メールアカウントに繰り返し間違った情報でアクセスがあったので遮断するようになっていたとのこと。問い合わせと同時に制限を解除してくれていた。
当該のアカウントは iPhone に設定していたものだ。メインの送受信に使っていたアカウントではなかったので、iPhone ではエラーとか表示は一切なく、放置してしまった結果、サーバーのアクセス制限を誘発してしまった。
自分で自分の首を絞める、皮肉な経験だった。