Indy를 사용하여 smtps (secure smtp)에서 전자 메일을 보내려고하고 기술이 in this Marco Cantù article 인 것으로 보입니다.Indy 및 smtps : 연결할 수 없습니다.
object SMTP: TIdSMTP
IOHandler = IdSSLIOHandlerSocketOpenSSL1
SASLMechanisms = <>
UseTLS = utUseExplicitTLS
Left = 32
Top = 196
end
및
SMTP.Host := 'smtps.pec.aruba.it';;
SMTP.Port := 465;;
SMTP.Username := '[email protected]';
SMTP.Password := 'myPassw0rd';
MailMessage.Encoding := meDefault;
MailMessage.From.Address := '[email protected]';
MailMessage.BccList.EMailAddresses := '[email protected]';
MailMessage.Subject := 'Test Mail';
MailMessage.Body.Text := 'Please ignore this mail, This is a test';
SMTP.Connect; //failure!!!
SMTP.Send(MailMessage);
나는 프로그램이 SMTP.Connect에 달려 있지만, 예외 또는 유용한 오류없이 :
이것은 내가 사용하고있는 것입니다.
만약 대신 aboe는 당신이 조언을 주시겠습니까 작품 the article 모두에 설명 된대로 내가의 Gmail setings를 사용하는 것보다?
나는 인디 10.5.8을 가지고 있고 ssl dll은 exe와 같은 경로에있다.
+1 감사합니다. UseTLS = utUseImplicittTLS가 도움이되었습니다. 이제 연결이 실행되고 전송 되더라도 이메일을받지 못합니다 ... 확인할 항목이 있습니까? – LaBracca
서버가 오류없이 전자 메일 데이터를 받으면 (즉,'Send()'가 예외를 발생시키지 않는다면), 서버는 전자 메일 배달에 대한 책임을집니다. 전자 메일이 도착하지 않으면 서버 연결이 끊어지면 오랜 시간 동안 배달이 실패합니다. 이를 진단하는 유일한 방법은받은 편지함에서 서버가 오류 메시지를 보내고 있는지 확인하는 것입니다. 서버가 수락 한 후에 발생하는 배달 오류는 SMTP 세션 외부에 있기 때문에 'TIdSMTP'는 그 메시지를 사용자에게보고 할 수 없습니다. –
실제 (비 cc 또는 ccn)받는 사람이 있어야하므로 오류가 "ccn not allowed"인 배달 실패 메일을 읽을 수 있으므로받는 사람을 명시 적으로 사용하고 있으며 이제는 작동합니다. 많이 고맙다! – LaBracca