[delphi] E-mail bericht opstellen

Pagina: 1
Acties:
  • 274 views sinds 30-01-2008
  • Reageer

  • banaan-X
  • Registratie: Februari 2001
  • Niet online
Ik wil graag automatisch een e-mail-bericht opstellen met een standaard Onderwerp en Attachment. De Afzenden moet gewoon die van het programma zijn (dus de gebruiker zelf), en de geaddresseerde moet de gebruiker zelf nog invullen.
Ik heb al even gezocht maar heb alleen gevonden hoe je een geheel bericht kunt versturen (zonder gebruik van een extern e-mailprogramma).
Ik mag er niet vanuit gaan dat er altijd Outlook Express of Outlook 97 op de PC's staan, het moet met Eudora ook werken. Dus iets van "mailto:" ofzo, maar da's html...

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 07-11-2023

kvdveer

Z.O.Z.

Ik ben geen expert, maar de term MAPI zal je misschien wat verder helpen...

Localhost, sweet localhost


  • banaan-X
  • Registratie: Februari 2001
  • Niet online
En ik heb helaas niet ervaren genoeg om iets met die pagina's te kunnen...

  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 12-06 00:33
code:
1
start mailto:erickrock@netscape.com?cc=bob@acme.com&bcc=aap@noot.mies&subject=The Readme File&body=bla

Probeer dit is:

Klik op start
klik op uitvoeren
paste "mailto:erickrock@netscape.com?cc=bob@acme.com&bcc=aap@noot.mies&subject=The Readme File&body=bla" (zonder quotes) in het veldje...
Klik op ok en zie... De als standaard geregistreerde mail client staat klaar met een venstertje.

Zelfde effect als in een dosbox tiepen:
code:
1
start mailto:erickrock@netscape.com?cc=bob@acme.com&bcc=aap@noot.mies&subject=The Readme File&body=bla

Gewoon een kwestie van die commando regel door de explorer laten uitvoeren. Hoe weet ik niet onder Delphi, maar dat is volgens mij ook standaard spul.

Dit hele gedoe houd samen met mailto: url's:
http://developer.netscape.com/viewsource/husted_mailto/mailto.html

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:42
In delphi heb je daar wel componentjes voor dacht ik zo. Ik zal eens C++ Builder aanzwengelen. (Heb hier geen delphi, maar C++ Builder gebruikt dezelfde VCL).

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 14:42
Onder de tab 'FastNet', vind je een componentje 'TNMSMTP'. Deze component heeft volgende properties:
Host : ip adres van de mail-server waar je naartoe wilt connecten
En dan onder PostMessage kan je alles van uw mail in ingeven. (To adress, From Adress, Body, Attachments...).

https://fgheysels.github.io/


  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 12-06 00:33
Even voor de duidelijkheid: zet je %0A in bijvoorbeeld je body dan heb je een enter te pakken, kun je het ook een nog beetje opmaken enzo.

  • banaan-X
  • Registratie: Februari 2001
  • Niet online
Op donderdag 20 september 2001 20:31 schreef whoami het volgende:
Onder de tab 'FastNet', vind je een componentje 'TNMSMTP'. Deze component heeft volgende properties:
Host : ip adres van de mail-server waar je naartoe wilt connecten
En dan onder PostMessage kan je alles van uw mail in ingeven. (To adress, From Adress, Body, Attachments...).
Maar dat wil ik dus juist niet! Ik wil dat er een nieuwe bericht wordt opgesteld, met alvast het onderwerp en de bijlage ingevuld. De gebruiker moet het bericht dan zelf van een geadresseerde voorzien en versturen.

  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01 11:31
Op donderdag 20 september 2001 21:41 schreef banaan-X het volgende:

[..]

Maar dat wil ik dus juist niet! Ik wil dat er een nieuwe bericht wordt opgesteld, met alvast het onderwerp en de bijlage ingevuld. De gebruiker moet het bericht dan zelf van een geadresseerde voorzien en versturen.
als je nou de gebruiker fijn een geadresseerde in laat vullen in een edit-boxje, dat naar het componentje passt, en het laat mailen, klaar :)

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:42
Op donderdag 20 september 2001 21:41 schreef banaan-X het volgende:

[..]

Maar dat wil ik dus juist niet! Ik wil dat er een nieuwe bericht wordt opgesteld, met alvast het onderwerp en de bijlage ingevuld. De gebruiker moet het bericht dan zelf van een geadresseerde voorzien en versturen.
Je kan toch via code het onderwerp enzo alvast invullen? Ik snap uw probleem niet hoor.

https://fgheysels.github.io/


  • banaan-X
  • Registratie: Februari 2001
  • Niet online
Op donderdag 20 september 2001 21:47 schreef PlayR het volgende:

[..]

als je nou de gebruiker fijn een geadresseerde in laat vullen in een edit-boxje, dat naar het componentje passt, en het laat mailen, klaar :)
Dat kan idd ook wel. Maar ik zie dat FastNet component eigenlijk totaal niet staan in de tabs. Ik heb alleen maar Standard, Additional, Win32, System, Internet, Dialogs, Win3.1, Samples en ActiveX.
Moet ik die FastNet er eerst nog bij zetten ofzo?

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:42
Hmm. Bij mij stond die er standaard bij. Ik heb wel de Enterprise editie van C++ Builder, het kan daar aanliggen natuurlijk.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • banaan-X
  • Registratie: Februari 2001
  • Niet online
Op vrijdag 21 september 2001 07:42 schreef whoami het volgende:
Hmm. Bij mij stond die er standaard bij. Ik heb wel de Enterprise editie van C++ Builder, het kan daar aanliggen natuurlijk.
Kan iemand dat dan exporteren ofzo?

Acties:
  • 0 Henk 'm!

  • banaan-X
  • Registratie: Februari 2001
  • Niet online
Op vrijdag 21 september 2001 08:18 schreef banaan-X het volgende:

[..]

Kan iemand dat dan exporteren ofzo?
Niemand?

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:42
Overloop misschien zelf eens eerst alle tab's met componenten. Ik heb op m'n werk gezien dat die smtp component bij delphi onder de tab 'Internet' staat. Misschien vind je hem daar ook terug, tenzij hij niet bij de standard versie van Delphi zit. (Als je die hebt).

Als die er niet in zit, dan kun je misschien met de MAPI gaan werken. Is niet zo moeilijk.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • banaan-X
  • Registratie: Februari 2001
  • Niet online
Op vrijdag 21 september 2001 17:38 schreef whoami het volgende:
Overloop misschien zelf eens eerst alle tab's met componenten. Ik heb op m'n werk gezien dat die smtp component bij delphi onder de tab 'Internet' staat. Misschien vind je hem daar ook terug, tenzij hij niet bij de standard versie van Delphi zit. (Als je die hebt).

Als die er niet in zit, dan kun je misschien met de MAPI gaan werken. Is niet zo moeilijk.
Ik heb bij Internet alleen maar ClientSocket en ServerSocket. Maar ik wil liever een e-mailbericht opstellen. Kan dat echt niet met een of andere ShellOpen functie ofzo?

  • Delpix
  • Registratie: September 2001
  • Laatst online: 27-11-2021

Delpix

Alanis Fan

Op vrijdag 21 september 2001 17:38 schreef whoami het volgende:
Overloop misschien zelf eens eerst alle tab's met componenten. Ik heb op m'n werk gezien dat die smtp component bij delphi onder de tab 'Internet' staat. Misschien vind je hem daar ook terug, tenzij hij niet bij de standard versie van Delphi zit. (Als je die hebt).

Als die er niet in zit, dan kun je misschien met de MAPI gaan werken. Is niet zo moeilijk.
Of download INDY. Dat is een set met vele internet controls waaronder een paar voor email (pop,smtp...) ;)

http://www.nevrona.com/indy/

...beter bekend als AMFan


Anoniem: 20531

of neem hier eens een kijkje: http://overbyte.alexid.fr/frame_index.html

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:42
Op vrijdag 21 september 2001 23:26 schreef banaan-X het volgende:

[..]

Ik heb bij Internet alleen maar ClientSocket en ServerSocket. Maar ik wil liever een e-mailbericht opstellen. Kan dat echt niet met een of andere ShellOpen functie ofzo?
Sure, even goed alsof je met een lucifer een blik kunt openen.

https://fgheysels.github.io/


  • Delphi32
  • Registratie: Juli 2001
  • Laatst online: 20:06

Delphi32

Heading for the gates of Eden

Ok ff recap dan:
1. FastNet components zitten alleen bij Delphi Pro, volgens mij heb jij Standard (je studeert? gokje) en dus zul je het met INDY moeten doen (aanrader!).
2. met het mailto: protocol kan je zo aan de slag, maar mijn ervaring daarmee is niet zo best; het beperkt je mogelijkheden en maakt je config lastiger. Soms werkt het, soms niet (bereidheid tot uitleg is er ook bij mij maar alleen op aanvraag).

Dus haal die Indy components op, dat zijn de beste die er zijn (als ik me niet vergis zitten ze standaard bij Delphi 6 >:) ) en doe wat je wilt met je mailtje.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 27-05 16:00

curry684

left part of the evil twins

Op vrijdag 21 september 2001 23:26 schreef banaan-X het volgende:
Ik heb bij Internet alleen maar ClientSocket en ServerSocket. Maar ik wil liever een e-mailbericht opstellen. Kan dat echt niet met een of andere ShellOpen functie ofzo?
Je hoeft in je programma alleen maar een smtp-server aan de gebruiker te vragen en daar kun je vervolgens met de TClientSocket zo aan connecten op poort 25. Protocol staat beschreven in RFC 2821. Je kunt ook gewoon met telnet naar je eigen smtp-server op poort 25 en ff uitproberen, dan kun je zo anonieme spam-mailtjes sturen :)

Professionele website nodig?


  • banaan-X
  • Registratie: Februari 2001
  • Niet online
Op zaterdag 22 september 2001 01:33 schreef curry684 het volgende:

[..]

Je hoeft in je programma alleen maar een smtp-server aan de gebruiker te vragen en daar kun je vervolgens met de TClientSocket zo aan connecten op poort 25. Protocol staat beschreven in RFC 2821. Je kunt ook gewoon met telnet naar je eigen smtp-server op poort 25 en ff uitproberen, dan kun je zo anonieme spam-mailtjes sturen :)
De doelgroep van het programma weet waarschijnlijk niet eens wat een smtp-server is..., dus dat lijkt me niet zo'n goed idee.
Op zaterdag 22 september 2001 01:16 schreef Delphi32 het volgende:
Ok ff recap dan:
1. FastNet components zitten alleen bij Delphi Pro, volgens mij heb jij Standard (je studeert? gokje) en dus zul je het met INDY moeten doen (aanrader!).
Mischien een goed idee voor andere programma's die ik nog eens ga maken, maar voor deze doelgroep niet zo geschikt lijkt me.
Ik heb idd Delphi 6 Standard, ik studeer nog niet, moet nog even mijn examen halen... (zit ik klas 6 gymn.). Die had mijn natuurkundeleraar namelijk gekocht. Ik zag alleen dat je die tegenwoordig ook gratis kunt downloaden? Hij heeft er nog zo'n 380,- voor betaald. (maand geleden)
2. met het mailto: protocol kan je zo aan de slag, maar mijn ervaring daarmee is niet zo best; het beperkt je mogelijkheden en maakt je config lastiger. Soms werkt het, soms niet (bereidheid tot uitleg is er ook bij mij maar alleen op aanvraag).

Dus haal die Indy components op, dat zijn de beste die er zijn (als ik me niet vergis zitten ze standaard bij Delphi 6 >:) ) en doe wat je wilt met je mailtje.
Ik kijk wel even of ik er wat mee kan, maar ik vrees het niet. Dus misschien klop ik binnenkort even aan op ICQ, ok?

Acties:
  • 0 Henk 'm!

  • banaan-X
  • Registratie: Februari 2001
  • Niet online
Nog even iets anders. Kan deze code ook in Delphi gebruikt worden?
code:
1
2
3
4
5
6
7
8
Public Declare Function ShellExecute Lib "shell32.dll" 
Alias "ShellExecuteA" (ByVal hwnd As Long, 
ByVal lpOperation As String, ByVal lpFile As String, 
ByVal lpParameters As String, ByVal lpDirectory As String, 
ByVal nShowCmd As Long) As Long


ShellExecute(hwnd, "Open", "bestandsnaam", "", App.Path, 1)

Acties:
  • 0 Henk 'm!

  • Delpix
  • Registratie: September 2001
  • Laatst online: 27-11-2021

Delpix

Alanis Fan

Op zondag 23 september 2001 14:36 schreef banaan-X het volgende:
Nog even iets anders. Kan deze code ook in Delphi gebruikt worden?
code:
1
2
3
4
5
6
7
8
Public Declare Function ShellExecute Lib "shell32.dll" 
Alias "ShellExecuteA" (ByVal hwnd As Long, 
ByVal lpOperation As String, ByVal lpFile As String, 
ByVal lpParameters As String, ByVal lpDirectory As String, 
ByVal nShowCmd As Long) As Long


ShellExecute(hwnd, "Open", "bestandsnaam", "", App.Path, 1)
Waarschijnlijk is dat code voor visualbasic.
In delphi gebruik je het zo:
code:
1
ShellExecute(Handle, 'open', PChar(mailto:blaat...'), nil, nil, SW_SHOW);

en voeg de unit SHELLAPI toe aan je Uses lijst.

...beter bekend als AMFan

Pagina: 1