Вызов PHP Mailer из выпуска приложения Delphi XE Indy [Duplicate]Php

Кемеровские программисты php общаются здесь
Anonymous
Вызов PHP Mailer из выпуска приложения Delphi XE Indy [Duplicate]

Сообщение Anonymous »

У меня есть приложение Delphi XE, которое использует компонент Indy TIDHTTP для отправки параметров в сценарий PHP для отправки электронной почты. Если субъект или любая строка в теле содержит более 79 символов, у строки будут символы "=" в этой позиции. Я использую новейшие инди (10.6.3.9) и последние SSL DLLS (1.0.2U). Я протестировал сценарий PHP в одиночку, и электронные письма не вставлены эти символы. Как я могу предотвратить эту проблему кодирования? Вот функция, которую я использую для вызова скрипта: < /p>
function SendWebEmail: boolean;
var
Http: TIdHTTP;
LHandler: TIdSSLIOHandlerSocketOpenSSL;
FormData: TIdMultipartFormDataStream;
Response: string;
begin
Result:= False;
ErrorMessage:= '';
Http := TIdHTTP.Create(nil);
LHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
FormData := TIdMultipartFormDataStream.Create;
try
LHandler.SSLOptions.SSLVersions := [sslvTLSv1_2];
LHandler.SSLOptions.SSLVersions := [sslvTLSv1, sslvTLSv1_1, sslvTLSv1_2];
HTTP.IOHandler:=LHandler;
FormData.AddFormField('to', Trim(Too));
FormData.AddFormField('subject', Trim(Subject));
FormData.AddFormField('body', Trim(Body));
if (HTMLAttachments.Count>0) then begin
FormData.AddFile('attachment', Trim(HTMLAttachments[0]), 'application/octet-stream');
end;

try
Response := Http.Post('https://www.myco.co/wemail.php', FormData);
if Response = 'OK' then
Result := True
else
ErrorMessage := Response;
except
on E: Exception do
ErrorMessage := 'Error sending email: ' + E.Message;
end;
finally
FormData.Free;
LHandler.Free;
Http.Free;
end;
end;


Подробнее здесь: https://stackoverflow.com/questions/796 ... ding-issue

Вернуться в «Php»