06-08-2020, Saat: 14:49
(Son Düzenleme: 06-08-2020, Saat: 15:18, Düzenleyen: samsaros@gmail.com.)
Normal olarak mail gonderme işlemini aşağıdaki gibi yapabiliyorduk. ilk ssl de olmadan sorunsuz gonderim yapılabiiliyordu. Ama kurumda güvenlik ile ilgili bir değişiklik yapıldığından mailler gönderilememeye başlandı. ilk zamanlar zaman aşımı hatası veriyordu. İlgili birim User authentication metoduyla gönderim yapmamız gerektiğini söylüyor. Ama User authentication metodu neyi ifade ediyor anlayamadım. bir çok deneme yaptım ama sorunu geçemedim bir türlü. ssl devreye aldık, AuthType tipini değiştirdim ama sorun düzelmedi. en son aşağıdaki gibi bir hata alıyoruz.
Konu hakkında fikri olan var mı acaba?

function SMTPbaglan:Boolean;
begin
SMTP.AuthType := satDEFAULT;
SMTP.Host := 'smtp.test.com' ;
SMTP.Port := 587';
SMTP.Username := 'UserName';
SMTP.Password := '1234';
MailMessage.From.Address := 'test@test.com'
MailMessage.From.Name:='test' ;
if SSLAktif then
begin
SSLIOHandler.DefaultPort := 0;
SSLIOHandler.SSLOptions.Method := sslvTLSv1;
SSLIOHandler.SSLOptions.Mode := sslmUnassigned;
SSLIOHandler.SSLOptions.VerifyMode := [];
SMTP.IOHandler := SSLIOHandler;
SMTP.ConnectTimeout := 10000;
end
else
SMTP.IOHandler := nil;
if SMTP.Host ='' then
begin
Result := False;
ShowMsg('Mail Ayarlarınızı Yapınız');
end
else
Result := True;
if not SMTP.Connected then SMTP.Connect;
end;
.....
try
SMTP.Send(FSDM.MailMessage);
Except On E:Exception do
ShowMsg('Mail Gönderilemedi. Nedeni:'+E.Message);
end;
Konu hakkında fikri olan var mı acaba?
function SMTPbaglan:Boolean;
begin
SMTP.AuthType := satDEFAULT;
SMTP.Host := 'smtp.test.com' ;
SMTP.Port := 587';
SMTP.Username := 'UserName';
SMTP.Password := '1234';
MailMessage.From.Address := 'test@test.com'
MailMessage.From.Name:='test' ;
if SSLAktif then
begin
SSLIOHandler.DefaultPort := 0;
SSLIOHandler.SSLOptions.Method := sslvTLSv1;
SSLIOHandler.SSLOptions.Mode := sslmUnassigned;
SSLIOHandler.SSLOptions.VerifyMode := [];
SMTP.IOHandler := SSLIOHandler;
SMTP.ConnectTimeout := 10000;
end
else
SMTP.IOHandler := nil;
if SMTP.Host ='' then
begin
Result := False;
ShowMsg('Mail Ayarlarınızı Yapınız');
end
else
Result := True;
if not SMTP.Connected then SMTP.Connect;
end;
.....
try
SMTP.Send(FSDM.MailMessage);
Except On E:Exception do
ShowMsg('Mail Gönderilemedi. Nedeni:'+E.Message);
end;




