Я создал следующий код для отправки электронного письма с адреса, установленного в формате UTF-8. Я знаю, что msmtp поддерживает IDN, но когда я запускаю эту программу, я получаю сообщение об ошибке, что символ \xe2\x82\xac
(также известный как «€») недействителен.
msmtp: envelope from address relu\u20ac@4p\u20ac.com not accepted by the server
msmtp: server message: 555 5.5.2 Syntax error. p83sm6227819wma.18 - gsmtp
msmtp: could not send mail (account default from /usr/local/etc/msmtprc)
Это код:
#include <stdio.h>
int main(){
char* sender = "relu\xe2\x82\xac@4p\xe2\x82\xac.com";
char cmd[100];
sprintf(cmd, "echo \"bla\" | msmtp -f %s [email protected]", sender);
system(cmd);
return 0;
}