DB
Size: a a a
DB
DB
function SendMail(const Address, Subject, MessageText: string): string;убери только частные куски, должно работать
var
SMTP: TIdSMTP;
MailMessage: TIdMessage;
begin
Result := 'rsOK';
try
SMTP := TIdSMTP.Create(nil);
try
SMTP.Host := WebDataModule.MailHost;
SMTP.Port := WebDataModule.MailPort;
SMTP.Username := WebDataModule.MailLogin;
SMTP.Password := WebDataModule.MailPass;
MailMessage := TIdMessage.Create(nil);
try
MailMessage.OnInitializeISO := TDummyEncode.SetCharSet;
MailMessage.CharSet := IdCharsetNames[idcs_UTF_8];
MailMessage.ContentType := 'text/plain; charset=utf-8'; //2612
MailMessage.From.Address := WebDataModule.MailFrom;
MailMessage.Recipients.EMailAddresses :=
Address + IfThen(WebDataModule.MailCopy <> '', ';' + WebDataModule.MailCopy);
MailMessage.Subject := Subject;
MailMessage.Body.Text := MessageText;
MailMessage.Date := Now;
try
try
SMTP.Connect;
except
Exit('rsCouldntRegUserConnError');
end;
if WebDataModule.MailNeedAuthentication then
begin
SMTP.AuthType := TIdSMTPAuthenticationType(WebDataModule.MailAuthType);
try
if not SMTP.Authenticate then
Exit('rsCouldntRegUserAuthError');
except
Exit('rsCouldntRegUserAuthError');
end;
end;
try
SMTP.Send(MailMessage);
except
Exit('rsCouldntRegUserSmtpError');
end;
finally
if SMTP.Connected then
SMTP.Disconnect;
end;
finally
FreeAndNil(MailMessage);
end;
finally
FreeAndNil(SMTP);
end;
except
Exit('rsCouldntRegUserOtherError');
end;
end;
type
TDummyEncode = class
protected
class procedure SetCharSet(var VHeaderEncoding: char; var VCharSet: string);
end;
class procedure TDummyEncode.SetCharSet(var VHeaderEncoding: char; var VCharSet: string);
begin
VCharSet := IdCharsetNames[idcs_UTF_8];
VHeaderEncoding := 'B';
end;
DB
RS
SB
SB
SB
Ad
AW
Ad
VA
AW
VA
AW
Ad
Ad
VO
function SendMail(const Address, Subject, MessageText: string): string;убери только частные куски, должно работать
var
SMTP: TIdSMTP;
MailMessage: TIdMessage;
begin
Result := 'rsOK';
try
SMTP := TIdSMTP.Create(nil);
try
SMTP.Host := WebDataModule.MailHost;
SMTP.Port := WebDataModule.MailPort;
SMTP.Username := WebDataModule.MailLogin;
SMTP.Password := WebDataModule.MailPass;
MailMessage := TIdMessage.Create(nil);
try
MailMessage.OnInitializeISO := TDummyEncode.SetCharSet;
MailMessage.CharSet := IdCharsetNames[idcs_UTF_8];
MailMessage.ContentType := 'text/plain; charset=utf-8'; //2612
MailMessage.From.Address := WebDataModule.MailFrom;
MailMessage.Recipients.EMailAddresses :=
Address + IfThen(WebDataModule.MailCopy <> '', ';' + WebDataModule.MailCopy);
MailMessage.Subject := Subject;
MailMessage.Body.Text := MessageText;
MailMessage.Date := Now;
try
try
SMTP.Connect;
except
Exit('rsCouldntRegUserConnError');
end;
if WebDataModule.MailNeedAuthentication then
begin
SMTP.AuthType := TIdSMTPAuthenticationType(WebDataModule.MailAuthType);
try
if not SMTP.Authenticate then
Exit('rsCouldntRegUserAuthError');
except
Exit('rsCouldntRegUserAuthError');
end;
end;
try
SMTP.Send(MailMessage);
except
Exit('rsCouldntRegUserSmtpError');
end;
finally
if SMTP.Connected then
SMTP.Disconnect;
end;
finally
FreeAndNil(MailMessage);
end;
finally
FreeAndNil(SMTP);
end;
except
Exit('rsCouldntRegUserOtherError');
end;
end;
type
TDummyEncode = class
protected
class procedure SetCharSet(var VHeaderEncoding: char; var VCharSet: string);
end;
class procedure TDummyEncode.SetCharSet(var VHeaderEncoding: char; var VCharSet: string);
begin
VCharSet := IdCharsetNames[idcs_UTF_8];
VHeaderEncoding := 'B';
end;
VO
VO
DB