Please, I am trying to solve this "problem" for more than 12 hours now... and almost getting crazy! I think is impossible send the same e-mail for more than a recipient (destination) at once, using Delphi and Synapse (http://synapse.ararat.cz). Please, someone tell me I am wrong :)
Well, I have a sEmail variable, where I get the e-mails separated by point semicolon (;), just like this:
sEmails := 'email1@test.com.br;email2@teste.com.br';
Here is the code I am using:
dSMTP := TSMTPSend.Create;
dSMsg := TMimeMess.Create;
Try
With dSMsg, Header Do
Begin
Date := Now;
Priority := mp_Normal;
CharsetCode := ISO_8859_1;
From := 'email@gmail.com';
ToList.Delimiter := ';';
ToList.DelimitedText := sEmails;
Subject := 'Message Subject';
dPart := AddPartMultipart('mixed', nil);
AddPartHTML('<h1>Message Text</h1>', dPart);
EncodeMessage;
end;
With dSMTP Do
Begin
TargetHost := 'smtp.gmail.com';
TargetPort := '587';
AutoTLS := True;
UserName := 'email@gmail.com';
Password := 'password';
Try
If Login Then
Begin
If MailFrom('email@gmail.com', Length('email@gmail.com')) Then
If MailTo(sEmails) Then MailData(dSMsg.Lines);
Logout;
end;
Except
On E: Exception Do ShowMessage(E.Message);
end;
end;
Finally
dSMsg.Free;
dSMTP.Free;
end;
I already tried like this:
If Login Then
Begin
If MailFrom('email@gmail.com', Length('email@gmail.com')) Then
If MailTo(dSMsg.Header.ToList[0]) Then MailData(dSMsg.Lines);
Logout;
end;
... but then only the first e-mail was sent :( Even if add the rest of e-mails in the Header.CCList.
In another test I tried to change point semicolon for comma (,), with same problem...
Please, please, can someone tells what I am doing wrong?
Thank you!