どうか、私はこの「問題」を12時間以上解決しようとしています...そして、ほとんど夢中になっています!DelphiとSynapse( http://synapse.ararat.cz )を使用して、一度に複数の受信者(宛先)に同じ電子メールを送信することは不可能だと思います。誰かが私が間違っていると言ってください:)
さて、私はsEmail変数を持っています。ここでは、次のように、電子メールをポイントセミコロン(;)で区切って取得します。
sEmails := 'email1@test.com.br;email2@teste.com.br';
これが私が使用しているコードです:
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;
私はすでにこのように試しました:
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;
...しかし、最初の電子メールのみが送信されました:(残りの電子メールをHeader.CCListに追加した場合でも。
別のテストでは、同じ問題で、ポイントセミコロンをコンマ(、)に変更しようとしました...
どうか、誰かが私が間違っていることを教えてもらえますか?
ありがとうございました!