email gönderimi konusunda 2 tane problemim var. bunlar:
1) gönderdiğim mailler programımda gitti diye gözüküyor. ancak mail sadece benim adreslerime geliyor. fakat geriye kalan 1500 adrese gitmiyor. her mail için ayrı bağlantı yapıyorum. mail gönderiminde kullandığım kod şu:
Kod: Tümünü seç
if frmMailAccounts.qMailAccounts.RecordCount>0 then begin
SMTP.Host := 'mail.xxxxx.com';
SMTP.Port := 25;
//setup mail message
frmMailAccounts.qMailAccounts.First;
while not frmMailAccounts.qMailAccounts.Eof do begin
MailMessage.Recipients.EMailAddresses:=frmMailAccounts.qMailAccountsmNAME.AsString+' '+frmMailAccounts.qMailAccountsmSURNAME.AsString+'<'+ frmMailAccounts.qMailAccountsmMAILADDRESS.AsString +'>';
MailMessage.From.Name:='Gönderen';
MailMessage.From.Address := edSender.Text;
MailMessage.From.Text:= 'Gönderen<'+ edSender.Text +'>' ;
MailMessage.Subject := edSubject.Text;
MailMessage.Body.Text := edBody.Text;
//send mail
try
try
Application.ProcessMessages;
SMTP.Connect(1000);
Application.ProcessMessages;
SMTP.Send(MailMessage);
Application.ProcessMessages;
StatusMemo.Lines.Insert(StatusMemo.Lines.Count+1, MailMessage.Recipients.EMailAddresses);
except on E:Exception do
StatusMemo.Lines.Insert(0, 'ERROR: ' + E.Message +'('+ edTo.Text +')');
end;
finally
if SMTP.Connected then
StatusMemo.Lines.Insert(0, 'Mailiniz başarıyla gönderildi... '+ frmMailAccounts.qMailAccountsmNAME.AsString + ' ' + frmMailAccounts.qMailAccountsmSURNAME.AsString + '('+frmMailAccounts.qMailAccountsmMAILADDRESS.AsString+')');
SMTP.Disconnect;
end;
frmMailAccounts.qMailAccounts.Next;
end;
end else begin
ShowMessage('Veritabanından kayıt seçilmedi veya 0 kayıt seçili.');
end;
2) gönderdiğim maillere dijital imza eklemek istiyorum. ne yapabilirim. dijital imza mantığı nedir?
(D7 ve indy kullanıyorum)