Hangi Indy srümünü kullandığınızı belirtmemişsiniz. Aşağıdaki bağlantı bilgileri en son sürüm için verilmiştir. Ancak şahsen eski sürümlerde de çok farklı olacağını düşünmüyorum.
Indy dökümanları TIdMessage.Recipients ın esasen TIdEMailAddressList sınıfı olduğunu belirtiyor. http://www.indyproject.org/docsite/html ... ients.html
TIdEMailAddressList sınıfı ile ilgili sayfa ise "virgül" ile ayrılmış string kullanılması gerektiğini belirtiyor. http://www.indyproject.org/docsite/html ... sList.html
Sizin örneğinizde gördüğüm kadarıyla e-mail adreslerini noktalı virgül ile ayırıyorsunuz ki bu Indy tarafından desteklenmiyor.
if QRYAYARLAR.RecordCount=0
then ShowMessage('Mail hesabı bulunmadı lütfen ayarları kontrol ediniz.') else
begin
inherited;
Application.ProcessMessages;
try
if SMTP.Connected then SMTP.Disconnect;
SMTP.Host := QRYAYARLAR.Fieldbyname('GIDEN_SUNUCU').Text;
//SMTP.AuthType := satNone;
SMTP.AuthType := atDefault;
SMTP.Username := QRYAYARLAR.Fieldbyname('KULLANICI_ADI').Text;
SMTP.Password := QRYAYARLAR.Fieldbyname('SIFRE').Text;
SMTP.Port := 25;
if StrToIntDef(QRYAYARLAR.Fieldbyname('GIDEN_SUNUCU_PORT').Text, -1) > 0
then SMTP.Port := StrToInt(QRYAYARLAR.Fieldbyname('GIDEN_SUNUCU_PORT').Text);
// SSL ayarları
if QRYAYARLAR.Fieldbyname('GIDEN_PORT_TURU').Text='Yok' then
begin
SMTP.UseTLS := utNoTLSSupport;
SMTP.IOHandler := nil;
SMTP.ConnectTimeout := 3000;
end else
begin
LHandler.Destination := SMTP.Host + ':' + IntToStr(SMTP.Port);
LHandler.Host := SMTP.Host;
LHandler.Port := SMTP.Port;
LHandler.DefaultPort := 0;
LHandler.SSLOptions.Method := sslvTLSv1;
LHandler.SSLOptions.Mode := sslmUnassigned; // sslmClient;
LHandler.SSLOptions.VerifyMode := [];
LHandler.SSLOptions.VerifyDepth := 0;
SMTP.IOHandler := LHandler;
end;
if QRYAYARLAR.Fieldbyname('GIDEN_PORT_TURU').Text='SSL'
then SMTP.UseTLS := utUseImplicitTLS;
if QRYAYARLAR.Fieldbyname('GIDEN_PORT_TURU').Text='TSL'
then SMTP.UseTLS := utUseExplicitTLS;
SMTP.ConnectTimeout := 10000;
SMTP.Connect;
EPosta.Clear;
EPosta.From.Address := QRYAYARLAR.Fieldbyname('E_MAIL').Text;
EPosta.From.Name := QRYAYARLAR.fieldbyname('GONDEREN_AD').Text + ' (Sistem Mesajidir.)';
EPosta.ReplyTo.EMailAddresses := QRYAYARLAR.Fieldbyname('E_MAIL').Text;
//EPosta.ReplyTo.Name := EditUSER.Text;
{
with EPosta.Recipients.Add do
begin
if mmoE_MAIL_ADRESI_TEXT.Text > '' then
begin
Name := mmoE_MAIL_ADRESI_TEXT.Text;
Address := mmoE_MAIL_ADRESI_TEXT.Text;
end else
begin
Name := QRYAYARLAR.Fieldbyname('KULLANICI_ADI').Text;
Address := QRYAYARLAR.Fieldbyname('KULLANICI_ADI').Text;
end;
end;
with EPosta.Recipients.Add do
begin
if edtE_MAIL_KONU.Text > '' then
begin
Name := edtE_MAIL_KONU.Text;
Address := edtE_MAIL_KONU.Text;
end else
begin
Name := QRYAYARLAR.Fieldbyname('KULLANICI_ADI').Text;
Address := QRYAYARLAR.Fieldbyname('KULLANICI_ADI').Text;
end;
end; }
QRYLISTE.First;
while not QRYLISTE.Eof do
begin
with EPosta.Recipients.Add do
begin
if QRYLISTE.FieldByName('E_MAIL').Text > '' then
begin
Name := QRYLISTE.FieldByName('E_MAIL').Text;
Address := QRYLISTE.FieldByName('E_MAIL').Text;
end else
begin
Name := QRYAYARLAR.Fieldbyname('KULLANICI_ADI').Text;
Address := QRYAYARLAR.Fieldbyname('KULLANICI_ADI').Text;
end;
QRYLISTE.Next;
end;
end;
EPosta.CCList.EMailAddresses:=QRYAYARLAR.Fieldbyname('BILGI_MAIL').Text;
EPosta.Subject := edtE_MAIL_KONU.Text;
EPostaIcerikHazirla(Sender);
SMTP.Send(EPosta);
finally
if SMTP.Connected then SMTP.Disconnect;
end;
end;