Avatar billede Slettet bruger
04. juli 2006 - 21:46 Der er 7 kommentarer og
2 løsninger

Indy 9, kan ike sende mail

Jeg forsøger at sende mail med Delphi 7, Indy 9. Den kommer aldrig frem.

Jeg har prøvet med min egen SMTP server, ISP's SMTP server. Der kommer ikke nogen fejl, de burde da blive fanget med:
"except on E:Exception do
StatusMemo.Lines.Insert(0, 'ERROR: ' + E.Message);"

Har søgt på Goggle i flere timer, uden at finde en løsning.


procedure TMailerForm.btnSendMailClick(Sender: TObject);
begin
  StatusMemo.Clear;
  //setup SMTP
  SMTP.Host := ledHost.Text; //smtp.tele2.dk
  SMTP.Port := 25;
  //setup mail message
  MailMessage.From.Address := ledFrom.Text;
  MailMessage.Recipients.EMailAddresses := ledTo.Text + ',' + ledCC.Text;
  MailMessage.Subject := ledSubject.Text;
  MailMessage.Body.Text := Body.Text;
  //send mail
  try
    try
      SMTP.Connect(1000);
      SMTP.Send(MailMessage);
    except on E:Exception do
      StatusMemo.Lines.Insert(0, 'ERROR: ' + E.Message);
    end;
  finally
    if SMTP.Connected then SMTP.Disconnect;
  end;
end;


Det skal ikke absolut være Indy, en anden metode til at sende mail på, kan også bruges, den skal bare være gratis.

:-)
Avatar billede kroning Nybegynder
04. juli 2006 - 22:10 #1
Jeg bruger, næsten, samme kode og det virker perfekt, D7 og Indy 9.0.18. Måske kan du se en forskel?

procedure TMainForm.MessageSetup;
begin
    IdSMTP.Host:=EditSMTP.Text;
    IdMessage.Recipients[0].Address:=EditModtager.Text;
    IdMessage.From.Address:=EditAfsender.Text;
  IdMessage.Subject:=EditEmne.Text;
    IdMessage.Body:=MemoTekst.Lines;
end;

procedure TMainForm.BtnTestClick(Sender: TObject);
begin
  MessageSetup;

    IdSMTP.Connect;
    IdSMTP.Send(IdMessage);
    IdSMTP.Disconnect;
end;
Avatar billede Slettet bruger
04. juli 2006 - 22:34 #2
>kroning
Det er godt at høre at koden er god nok. Så det et andet sted jeg skal fejl søge.

Jeg sidder på en XP med alle sikkerhedsopdateringer, kan det være en sikkerhedsopdatering der blokkerer? Jeg fatter det ikke, mener at det har virket for et par måneder siden, hvor jeg lavede en test.

:-)
Avatar billede martinlind Nybegynder
05. juli 2006 - 08:57 #3
firewall port'en kan være spæret, din smtp server kræver nok login, eller også har du ikke adgang fordi du ikke er på "samme" net som din smtp-server
Avatar billede kroning Nybegynder
05. juli 2006 - 11:30 #4
Jeg vil nu mene at hvis du ikke får en fejl meddelse så får indy komponenten forbindelse til serveren og posten bliver sendt. Er det også 9.0.18 eller nyere du bruger, der har vist været fejl i deres TCP kode tidligere.
Avatar billede Slettet bruger
06. juli 2006 - 13:25 #5
Hvor dum har jeg lov til at være? Det var IMF (Intelligent Message Filter) på min egen Exchange server, der slettede mailen.

Læg bare et svar begge 2, så skal i få lidt for hjælpen.

Kan man configurere Indy, så mailen ikke så nemt bliver fanget i et spam filter.

:-)
Avatar billede kroning Nybegynder
06. juli 2006 - 14:38 #6
ok, og nej til dit ? vil jeg mene, jeg ved ikke præcist hvordan IMF virker men den kan vel ikke gøre så meget andet end at kikke på afsender, modtager, emne og body og de følger jo alle en standard.
Avatar billede martinlind Nybegynder
06. juli 2006 - 15:03 #7
Kroning >> enig, det ville jo også være noget skidt, så var spamfiltre jo ubruglige
Avatar billede Slettet bruger
06. juli 2006 - 18:42 #8
En mail med samme emne og indhold, sendt med Outlook Express, går fint igennem. Så kunne Indy bare gøre det lige så "pænt" som OE.

:-)
Avatar billede kroning Nybegynder
07. juli 2006 - 07:57 #9
Hvis du ikke skal vedhæfte filer så er det jo rimelig enkelt at lave en lille smtp klasse selv og så kan du jo opbygge mailen ligesom Outlook Express gør det.
http://www.faqs.org/rfcs/rfc2821.html
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester