Po prostu spędziłem zbyt dużo czasu waląc głową w serwer SMTP, ponieważ nie podoba mi się to, jakich danych używałem. Okazuje się, że gdy zdecydowałem się NIE używać perl
, jak wiele instrukcji w Internecie, mówią, że użyłem, popełniłem wielki błąd. Dlaczego to? Myślałem, że base64 to jeden standard.Jaka jest różnica między base64 i MIME base 64?
Rozważmy:
$ perl -MMIME::Base64 -e 'print encode_base64("ASDF1234asdf")'
QVNERjEyMzRhc2Rm
$ base64 <<<"ASDF1234asdf"
QVNERjEyMzRhc2RmCg==
$ python3.6 -m base64 <<<"ASDF1234asdf"
QVNERjEyMzRhc2RmCg==
$ python2.7 -m base64 <<<"ASDF1234asdf"
QVNERjEyMzRhc2RmCg==
$ perl -MMIME::Base64 -e "print encode_base64('[email protected]_domain.com')"
bXlfdXNlcl9uYW1lQG15X2RvbWFpbi5jb20=
$ base64 <<<"[email protected]_domain.com"
bXlfdXNlcl9uYW1lQG15X2RvbWFpbi5jb20K
Więc perl
jest jedyna w swoim wyjściu i mój serwer wymaga to w ten sposób.
Dlaczego otrzymuję różne wyniki?
Jak uzyskać wyjście przyjazne dla MIME/SMTP z czymś innym niż Perl?
Equivalent byłoby 'perl -MMIME :: Base64 -0777pe'print encode_base64 ($ _) '' – ikegami