Есть у меня у одного класса такой метод.
PHP код:
static void SendByMail(
str _subject = '',
str _emailAddr,
str _from = '',
str _body = '',
FilenameOpen _attachmentFilename = '')
{
SysMailer mailer = new SysMailer();
SysEmailParameters parameters = SysEmailParameters::find();
container attachmentdata;
BinData binData;
mailer.fromAddress(_from);
mailer.fromName(_from);
mailer.subject(mailer.encodeHeader(_subject, 'Windows-1251', 1));
mailer.body(_body);
if (parameters.DNSServerName)
{
mailer.DNSServers().add(parameters.DNSServerName,
parameters.DNSTCPIPRetryCount,
parameters.DNSUDPRetryCount);
}
if (parameters.SMTPRelayServerName)
{
mailer.SMTPRelayServers().add(parameters.SMTPRelayServerName,
parameters.SMTPPortNumber,
parameters.SMTPServerIPAddress,
parameters.SMTPUserName,
parameters.SMTPPassword);
}
mailer.tos().add(_emailAddr);
if (_attachmentFilename)
{
binData = new BinData();
binData.loadFile(_attachmentFilename);
attachmentdata = binData.getData();
mailer.attachments().add(_attachmentFilename);
}
mailer.sendMail();
}
Так вот если Заголовок не конвертировать, он пребращается в бнопню.
А имя приаттаченого файла все равно бнопня, даже если его конвертишь.
Если посмотреть письмо, то там кодировка US...
Я же во всех Sys классах поправил методы CharSet на кодировку Windows-1251.
Таким образом, как отправить eMail по русски.
2 Vadik
У меня и текст письма такой:
РЕЯР ОПНБЕПЙЮ test
вместо:
тест проверка test