ActionManager
에있는 작업을 사용하여 클라이언트에 전자 메일을 보내려면 DBGrid
입니다.TIdSMTP 및 TIdMessage를 사용하여 전자 메일 보내기
클라이언트 세부 정보가 DBGrid
인 row
을 선택하고 마우스 오른쪽 버튼을 클릭 한 후 Popupactionbar
이 나타나면 메일 보내기 동작을 클릭하고 메일을 보내야합니다.
procedure TForm2.actSendEmailExecute(Sender: TObject);
begin
IdSMTP1.Host := 'smtp.mail.yahoo.com';
IdSMTP1.Port := 465;
//setup mail message
IdMessage1.From.Address := 'my email address is here';
IdMessage1.Recipients.EMailAddresses := DBGrid1.DataSource.DataSet['email'];
IdMessage1.Subject := 'test subject';
IdMessage1.Body.Text := 'test email body' + DBGrid1.DataSource.DataSet['details'];
//send mail try
IdSMTP1.Connect ;
IdSMTP1.Send(IdMessage1) ;
IdSMTP1.Disconnect;
end;
내가 TIdSMTP
및 TIdMessage
(인디 구성 요소)를 사용하고 있습니다 :
이
는 메일 전송 조치에 대한 코드입니다. Object Inspector를 사용하여TIdSMTP
Properties에서 호스트 이름, 포트, 사용자 이름 및 암호를 설정했습니다. 모든 세부 정보는 야후가 제공 한 웹 사이트 (호스트 이름, 포트, 로그인 용 전자 메일 및 로그인) 및
내가 선택한 행에서 DBGrid
거기에 클라이언트의 메일 주소가 들어있는 전자 메일이라는 필드가 있으므로 전자 메일을 보내야합니다. 또한 이메일의 본문 섹션에 들어있는 details라는 필드에 몇 가지 정보를 추가합니다. 위의 코드를 참조하십시오.
소프트웨어를 시작한 후에 DBGrid
의 행을 선택하고 send를 누르십시오. 작업 버튼에서 소프트웨어는 다음과 같은 오류 메시지를 반환하는 것보다 약 20-40 초 정도 얼어서 (응답하지 않음) 연결이 정상적으로 종료되었습니다. 난 그냥, 내가 결국 (DB를도 위치 등) 내 웹 사이트를 호스팅 내 호스팅 제공 업체의 SMTP
인디 버전 10.6.2.5311 을 사용하는 것입니다 물건을 테스트하기 위해 야후 SMTP를 사용하고
Delphi 10 사용 시애틀
내가 지금까지 잘못하고있는 것에 대한 생각은 무엇입니까?
Dunno, 야후가 그 호스트 이름에 사용한다고 말한 이유는이 포트를 사용하고 있습니다. 그 도서관을 어디서 구할 수 있는지, 그리고 그 도서관을 어디에 둘 필요가 있을까? – Petzy
인디 자신의 웹 사이트는 http://www.indyproject.org/sockets/ssl.en.aspx에서 다운로드 할 수있는 하나의 세트로 연결됩니다. 그들은 실행 파일과 함께 디렉토리에서 작동합니다. 둘 중 하나를 선택하거나 위치를 선택하고 기본 경로에 추가하십시오. – Owen
그 거대한 목록 중 어느 것을 사용했는지 알고 싶습니까? 나는 목록에서 마지막을 얻었지만 그렇게하지는 않았다. 인디 버전은 10.6.2.5311입니다. 1.0.2h와 1.0.2j로 시도한 Delphi 10 Seattle을 사용하고 있습니다. 또한 UseTLS 옵션에 주목했습니다. 현재 기본적으로 utNoTLSSupport로 설정되어 있습니다. 다른 옵션 (명시 적, 암시 적 또는 요구 사항)을 시도하면 IDE에 다음과 같은 오류가 즉시 발생합니다.이 설정에는 SSL IOHandler가 필요합니다. – Petzy