メールソフトsparkでIMAPメールを別のサーバーへ移行する方法
mixhostからロリポップ!ハイスピードプランへのレンタルサーバー移行に伴い、メールの移行を行ったので記録しておく。
macで使える無料メールソフトのsparkは、複数端末でのメールアカウント共有や予約送信などの機能が充実しており、見た目もスマートなので気に入っている。
バージョン3系もリリースされて久しいのだが、あまり好きになれず、いまだにバージョン2を愛用している。AI関連の機能も積極的に追加されているらしいのだが、有料プランの契約が必要となるので、無料の前提だとsparkバージョン2が優秀である。
しかし、ことIMAPメールのサーバー移行については、sparkはとっても残念な仕様であった。備忘録として以下にまとめる。
移行についての前提
- レンタルサーバー変更に伴うメールの移転
- IMAPで運用中のメールアカウントを、同じくIMAPへ移行する
- ネームサーバーの切替前に、MXレコードの変更でメールサーバーのみ切り替える。
- メールソフトはspark(バージョン2.11.46)
- OSはMacOS Sequoia (バージョン15.0.1)
なお旧サーバー(移行元)、新サーバー(移行先)の両方ともが、受信/送信サーバーのホスト名が同じケース(mail.hogehoge.com等)については、下記の方法では移行できないと思われるので注意。
メール移行前の事前準備
マルチドメインの設定
移行先のサーバー(今回はロリポップ)で、マルチドメインの設定を行う。ネームサーバーが異なる旨の注意書きが出るが、WEBサイトおよびメールデータの移行後に切り替えるので無視してOK。
移転先サーバーでメールアカウントを設定する
ロリポップ!の場合は、マルチドメインの設定が済んでいれば、ネームサーバーの切り替え前でも特にweb認証等は不要でメールアカウントの設定が可能だ。
(エックスサーバーの場合は、ドメインとエックスサーバーのネームサーバー/MXレコードが紐ついていない場合は、別途web認証またはメール認証が必要)
メールを移行
ネームサーバー(DNS)の切り替え前に、メールのデータを移行しておく必要がある。
通常POP3でメールを使用している場合は、PC上にメールデータが保存されているので、メールソフトのアカウント設定変更で接続先サーバーを変更するのみで移行は完了する。
IMAPの場合は、サーバー上にメールのデータが保存されているため、メールソフトの接続先サーバーを変更すると、旧いサーバーのメールは閲覧できなくなってしまう。
そのため、サーバーの切り替え前に、予め旧いサーバーから新しいサーバーへメールのデータを移行しておく必要がある。
送受信方式 | POP3 | IMAP |
---|---|---|
データの場所 | PC内に保存 | サーバーに保存 |
サーバー移行時 | サーバー設定変更のみ | メールデータ移行が必要 |
基本的なメール移行の流れは以下の通り。③は運用によっては不要。
- メールソフトに、新サーバーのアカウントを設定する(同一のメールアドレス)
- 旧いサーバーから、新サーバーへメールのデータを移動する
- DNSレコード(MXレコード)を移行先のメールサーバーに設定し、新サーバーでのメール送受信を運用開始
- ネームサーバー(DNS)を切り替え
しかしsparkの場合は、同一メールアドレスの重複登録が不可かつ、登録済メールアカウントの設定変更が不可のため、メールデータの移行完了後にアカウントを再設定する追加の手順が必要になる。
sparkでメールを移行する
sparkでは同じメールアドレスの重複登録ができない
macの標準メールアプリやThunderbirdでは、既に設定済のメールアドレスと同一のメールアドレスを重複して登録できるが、sparkでは重複登録できない。
そのため、sparkで移行先のアカウントを登録する際は、一度異なるメールアドレスでアカウントを追加した上で再設定するか、移行先に移行専用のメールアドレスを別途用意して作業する必要がある。
(移行作業限定でThunderbirdをインストールして作業したほうが早い気がする)
メニュー>アカウントを追加…>アカウントを手動で設定
メールアドレス | 移行用の適当なメールアドレス |
---|---|
ユーザー名 | @を含むメールアドレス |
受信サーバー(IMAP) | imap.lolipop.jp(ポート993) |
暗号化 | SSL/TLS |
送信サーバー(SMTP) | smtp.lolipop.jp(ポート465) |
暗号化 | SSL/TLS |
sparkに設定する際のメールアドレスは、あくまで移行用なので実在しないアドレスでも問題ない。移行元がhogehoge@test.jp
であれば、hogehoge_ikou@test.jp
とかで登録してOK。
いずれにしてもsparkは登録済メールアカウントのサーバー設定変更ができないため、ここで設定したメールアドレスは、メールデータの移行後に削除して設定しなおす事になる。
(このあたりも加味すると、確実にThunderbirdで移行作業したほうが早く終わると断言できる)
受信メールデータを移行する
新サーバーのアカウント設定が完了したら、メールデータを新サーバーへ移行する。受信トレイで旧サーバーの当該アカウントのすべてのメールを選択(⌘+A)し、新サーバーのメールアカウントへドラッグ・アンド・ドロップすれば移行が開始される。
移行するメールの容量によるが、数分で新サーバーへデータが移行される。確実にメールが移行されているか、WEBメールで当該アカウントのメールボックスを確認しておくとよい。
※旧サーバーのWEBメールが空で、新サーバーのWEBメールにのみメールがある状態
送信済メールデータを移行する
sparkの場合は「Sent」フォルダに送信済のメールデータが格納される仕様になっている。一方で、ロリポップ!のWEBメールでは「送信済みメール」というフォルダになっている。
WEBメールから「Sent」フォルダを手動で作成するか、一度テストメールを送信することで「Sent」フォルダがサーバー上に作成されるので、その後でメールを移行する。(この場合、WEBメールにある「送信済みメール」フォルダーは使用しない)
ちなみにmacの標準メールアプリでは、ロリポップ!のWEBメールで「Sent」フォルダを予め設定していない場合に、自動的に「送信済みメール(Sent Messages)」が設定された。一方で「Sent」を作成した上でアカウント設定を行うと送信済メールボックスは「INBOX/Sent」が紐ついた。賢い。
受信トレイと同様に、送信トレイで旧サーバーの当該アカウントのすべてのメールを選択(⌘+A)し、新サーバーのメールアカウントへドラッグ・アンド・ドロップすれば移行が開始される。
あとは、DNSレコードの変更もしくは、ネームサーバーを変更して、メールサーバーを切り替えれば移行完了だ。
sparkは登録済のメールアカウントの設定変更ができない
sparkは登録済メールアカウントのサーバー設定変更(アドレスや接続先、パスワード等)ができい仕様になっている。そのため、変更したい場合は一度メールアカウントを削除した上で再登録する必要があるようだ。
メールサーバーの切り替えが完了した事を確認したら、旧サーバーのメールアカウントを削除して、新サーバーのメールアカウントを再登録する。
レンタルサーバー変更等でメールサーバーが変更になった場合の他、メールパスワードを変更する場合においても同様にメールアカウントの削除&再登録が必要な仕様は、さすがに不便だと思うのだが。
sparkのメール移行はメールソフトの乗り換えタイミングかも
sparkはメールサーバーの切り替えにおいて、イチから再設定する手間がかかる。せっかくならこのタイミングでメールソフトの乗り換えを検討しても良いかもしれない。
以前はmacの標準メールアプリは使いにくくてパスしたのだが、いつの間にかUIも改善されていて、不通に使えるのではないかという印象になっていた。また今後、日本語環境でもapple intelligenceの機能が実装されれば、macの標準メールアプリも更に「使える」ようになるのではと期待している。
DNSレコード(MXレコード)の変更
以下はWEBとメールで切り替えのタイミングが異なる場合などで、DNSレコードの変更によりメールサーバーをロリポップ!に切り替える場合の手順。
ロリポップ!のMXレコードを取得する
ロリポップ!ではMXレコードやサーバーのIPアドレスは非公開。nslookupかdigで情報を取得する必要がある。
ロリポップ!のアカウント情報から、初期ドメイン(ロリポップ!のドメイン)をコピー。
CMANのWEBサイトでホスト名の項目に貼り付けて、オプションANYでdig。
;; ANSWER SECTION:
*****.*****.jp. 600 IN TXT "v=spf1 include:_spf.lolipop.jp ~all"
*****.*****.jp. 600 IN MX 10 mx01.lolipop.jp.
*****.*****.jp. 600 IN A 163.44.***.***
上記のようにDNSレコードが取得でき、MXレコードはmx01.lolipop.jp
だと分かる。
ドメインのDNSレコードにMXレコードを設定する
先ほどdigで取得したMXレコードを、移行するドメインのDNSレコードに設定する。mixhostの管理画面(cPanel)では、ドメイン>ゾーンエディタの項目。
MXレコードのTTLは600のまま、優先度を10にしておく。
また、TXTレコード(SPFレコード)については、mixhostの既定値がv=spf1 redirect=_spf.mixhost.jp
となっているので、下記に変更する。
v=spf1 include:_spf.mixhost.jp include:_spf.lolipop.jp ~all
DNSのレコードが反映されれば、ロリポップ!にメールが届くようになる。
ネームサーバー(DNSサーバー)をロリポップ!のものに変更してしまえば、WEBもメールもロリポップに切り替わるのだが、実際にネームサーバーが反映されるまで数時間〜1日を要する。いわゆる伝播時間とか浸透時間と呼ばれるやつだ。
この浸透時間は、プロバイダーや環境によって時間は一定ではないため、この時間中は新旧どちらのメールサーバーに届くか不安定である。
事前にMXレコードを変更しておくことで、TTLの設定に応じて浸透時間を短縮できるので、比較的ネームサーバーの切り替えよりも反映が早いと思われる。
実際に私の環境においては、上記MXレコードの反映を行ってから10分後(TTLの設定通り)にはロリポップサーバーでメールを受信するようになった。
Aレコードについても同様で、ネームサーバーの切替ではなくDNSレコードの変更だと、数分後にはWEBサーバーが切り替わる。(ブラウザのDNSキャッシュクリア等の対応は必要)公開を急いでいるときや、営業終了後の対応が必要な時なんかは、DNSレコードを変更した上で、ゆっくりネームサーバーのを切り替えたらいいんじゃないかなぁ。
以下実際のタイムライン
- 18:06 DNSレコード(Aレコード)の変更実施
- 18:10 DNSキャッシュクリアでWEBサーバーの切替(mixhost⇒ロリポップ!)を確認
- 18:11 ロリポップ!で独自SSL設定を有効化
- 18:13 SSL設定完了
- 18:15 PHPアップロード容量上限の変更、530MBのデータをAll in one WP migrationでインポート
- 18:35 インポート完了
サーバーの切替そのものは、10分以内にSSL設定まで完了したことが分かる。
ネックだったのは、ロリポップ!へのWordpressのデータインポートの20分。ここはやけに遅い印象だった。
ネームサーバー/Aレコード変更後に移し忘れたメールがあった場合
ネームサーバーまたはAレコードを変更してしまったあとで、データを移行し忘れたメールがあることが発覚。すでにメールサーバーは切り替わってしまっていて、mixhostのメールサーバーへメールソフトからアクセスできない状態。(WEBメールからはアクセスできる)
mixhostの管理画面(cPanel)から確認できるメールサーバーのホストは、mail.hogehoge.com
の形式になっており、Aレコードの紐づけが変更になった時点でアクセスできなくなる。
公式には記載されていない方法にはなるが、実はmixhostも他のレンタルサーバー同様に、初期ドメイン(サーバー名)でのアクセスが可能だったりする。(2024年11月現在)
cPanelからサーバー情報>サーバー名の欄にある、半角英数の文字列+.mixhost.jp
がメールサーバーのホストとして利用できる。
サーバー名がaa1234X
ならば、ホスト名はaa1234X.mixhost.jp
となる。これを、メール受信サーバーのホストとして設定することで、ネームサーバー/Aレコードを変更したあとでも、メールソフトでの受信が可能になる。
メールサーバーの移行は意外と手間がかかる
WEBサイトのリニューアルにあわせて、レンタルサーバー切り替えを検討する企業も少なくない。
メールサーバーの切り替えは、業務への影響を少なくするため、夜間や週末など実施のタイミングが結構シビアだったりする。加えて従業員のPC設定変更やらデータ移行と、切り替えに付随するタスクが非常に多い。
また、メールが消えた、送受信できないなどのトラブルが生じたり失敗のリスクも高いため、業界として積極的に取りに行っている印象ではない。
弊社でもリニューアルついでにスペックアップやコストダウンの目的で、レンタルサーバーの変更についての相談をよく受ける。ここ数ヶ月でざっと思い出せる範囲でも、使用しているメールソフトやサーバー環境の違いなど、いろんなケースがあったなぁとしみじみ考えてしまった。
メール環境の移行は、人の手のかかる業務だ。安請け合いしないように、しっかりヒアリングと調査を行った上で、適正な工数の見積を出すようにしたい。
メール環境移行の正確な見積のためにチェック
- 運用中/移行先メールサーバー(レンタルサーバー)の仕様
- 運用中のメールアドレス一覧(点数)および容量
- 設定が必要な端末(スマホ含む)の台数、OSおよびメールソフト、送受信方式(POP3/IMAP)
- メーリングリストの有無、配信先一覧
- メールの転送設定の有無、転送先一覧
- WEBサイトのメールフォームの送受信
- 送信ドメイン認証(SPF / DKIM / DMARC)の有無
- 外部サービスでの送受信設定有無(Gメール、Yahooなど)
- 業務に影響の少ない時間帯/夜間週末対応の有無
- 訪問対応の有無
このあたりの情報がはっきりしていれば、正確な工数を見積もることができそうだ。