У меня странная проблема со Swiftmailer 5.x:
$mailUrl = htmlspecialchars("$serverDiff/test/?action=passwordreset&token=$user_token");
$mailtext = "Für Ihren Account wurde das Zurücksetzen des Passwortes veranlasst. Bitte gehen Sie über folgenden Link, um dies einzugeben: $mailUrl";
$mailtext = $textclass->text($mailtext);
Это всегда возвращается & token=
что, конечно, неправильно. Независимо от того, как часто я пытаюсь выполнить utf8_decode, кодировать, htmlspecialchars или просто использовать xhtml или unicode для амперсандов, он все равно переключается на &
У кого-нибудь есть идеи, как это исправить? Я уже спросил кучу коллег и друзей, и никто не знает …
Большое спасибо!
Я наконец решил это с помощью другого поста, который привел меня прямо к ответу:
https://stackoverflow.com/a/31426274/2181606
Просто зашёл в фреймворк (/swiftmailer-5.x/lib/classes/Swift/Mime/MimePart.php) в строке 64 (функция setBody) и вставил это (см. Строку 2, сначала только для позиционирования):
$body = $this->_convertString($body);
$body = str_replace('&', '&', $body);
Спасибо я : D
Других решений пока нет …