DrupalでSWIFTMAILERを使用している場合Drupal10.1以上にアップデートすることができません
![DrupalでSWIFTMAILERを使用している場合Drupal10.1以上にアップデートするとemail-validator ~4.0.1が下位バージョンと競合します](/sites/default/files/styles/wide/public/2024-02/drupal10_30.png?itok=Ee8_vKsw)
SWIFTMAILER はセキュリティ上の理由で開発が終了しました。
これにより、DrupalでSWIFTMAILERを使用している場合Drupal10.1以上にアップデートすることができません。
こちらの記事「Drupal10を最新版にアップデートする 」で記載しているとおりにDrupalのアップデートを実施してもSWIFTMAILER をご利用の場合は、バージョン10.0.11より上のバージンにはアップデートされません。このとき別段ワーニング等のメッセージは表示されませんのでご注意ください。
こちらがSWIFT MAILERの提供モジュールページです。
開発が終了している旨のメッセージが表示されており、インストール用のリンクが存在しません。
https://www.drupal.org/project/swiftmailer
ちなみに、Laravl9のアップデートでもそれまで使用されていたSwiftMailerからSymfony Mailerへ移行されています。
下記サイトより抜粋
Laravel 9.x アップグレードガイド
Symfony Mailer
影響の可能性: 高い
Laravl9.xの最大の変更点は、2021年12月をもってメンテナンスが終了したSwiftMailerから、Symfony Mailerへの移行したことです。しかし、私たちはあなたのアプリケーションで、この移行ができるだけシームレスになるように努めました。とはいえ、あなたのアプリケーションで完全に互換を保てるように、以下の変更点のリストを十分に確認してください。
再現手順
- Composer update "drupal/core-*" --with-all-dependency を使用して Drupal コアを更新します。
※ エラーなく動作するはずですが、Drupalのバージョンは10.0.11のままです。 - Drupal 10.1.18 に指定した場合もの同様でアップデートすることができません。
原因
DRUPAL10.1以上にアップデートする際にDRUPAL COREがemail-validator ~4.0.1以上を必要としています。しかし、SWIFTMAILERがこのバージョンに対応しておらず(email-validator は ^3であることが必要)、矛盾が生じることが原因と考えられます。
対応処置
現在使用中のSWIFTMAILERをSYMPHONY/MAILERに置き換えることを推奨します。
対応方法については、こちらの記事「【Drupal】swiftmailerの開発終了に伴いメーラーをSympony/mailerに移行する 」をご覧ください。
swiftmailerからSympony/mailerへの移行については、こちらの記事を参照ください。
【Drupal】swiftmailerの開発終了に伴いメーラーをSympony/mailerに移行する
参考
Conflicts with drupal/core-recommended 10.1.x-dev requires egulias/email-validator ~4.0.1
https://www.utakata.work/entry/php/composer-uninstall
https://www.drupal.org/project/swiftmailer/releases/8.x-2.4
この記事に関するご質問やご意見などございましたらお問い合わせフォームからお気軽にご連絡ください。