제발, 지금이 12 시간 이상 동안이 "문제"를 해결하려고 노력 중입니다 ... 그리고 거의 미쳐 가고 있습니다! 필자는 Delphi와 Synapse (http://synapse.ararat.cz)를 사용하여 한 번에받는 사람 (대상) 이상의 동일한 전자 메일을 보낼 수 없다고 생각합니다.Delphi 및 Synapse를 사용하여 한 번에 둘 이상의 수신자에게 전자 메일을 보내는 방법은 무엇입니까?
sEmails := '[email protected];[email protected]';
여기에 있습니다 : 그냥이 같은,(), 누군가가 나는 점 세미콜론으로 구분 된 전자 메일을받을 경우
글쎄, 내가하는 sEmail 변수가 :) 잘못된 생각을 가르쳐주세요 내가 사용하고있는 코드 :
dSMTP := TSMTPSend.Create;
dSMsg := TMimeMess.Create;
Try
With dSMsg, Header Do
Begin
Date := Now;
Priority := mp_Normal;
CharsetCode := ISO_8859_1;
From := '[email protected]';
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 protected]';
Password := 'password';
Try
If Login Then
Begin
If MailFrom('[email protected]', Length('[email protected]')) 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 protected]', Length('[email protected]')) Then
If MailTo(dSMsg.Header.ToList[0]) Then MailData(dSMsg.Lines);
Logout;
end;
...하지만 첫 번째 전자 메일 보내졌다 :(비록 Header.CCList에있는 전자 메일의 나머지 부분을 추가합니다. 내가 쉼표에 대한 포인트 세미콜론을 변경하려고 다른 테스트에서
(,), 같은 문제로 ... , 누군가가 알 수있는 내가 잘못하고있는 중이 야 제발?감사합니다.
@SirRufo : @SirRufo : Synapse 설명서에서 언급 한 내용과 연결되었습니다. 그것이 틀렸다면 Synapse에게 말하십시오. :-) –
Fortunatelly 내가 SirRufo 팁을 삭제하기 전에 받았고 문제가 해결되었습니다! 그러니, 선생님, 다시 게시하십시오, 같은 문제를 가진 다른 사람들을 돕기 위해 ... 감사합니다! – Guybrush
모든 Synapse의 sendxxxx 유닛에서 ** SentTo **와 같은 간단한 기능은 간단하고 빠른 & 더러운 목적을위한 것이며 핵심 ** TXXXXSend ** 클래스 사용 방법을 보여줍니다.통신 소프트웨어는 일반적으로 이러한 클래스의 인스턴스로 작동합니다 (특정 프로토콜 뒤에 RFC 표준에 대한 기본 지식이있는 것으로 가정). – pf1957