Avatar billede silverwolf Nybegynder
25. maj 2000 - 12:58 Der er 20 kommentarer

Sende E-Mail via Outlook fra VB

Hejsa :-) ( igen )

Nu er jeg ved at gå amok igen. Jeg har ledt hele nettet efter en kode som kan sende en mail ved at bruge Outlooks indstillinger.

Jeg kan ik finde ud af at få den til at sende en e-mail fra Visual Basic, hvor den så skal sende mailen via outlook. ( Uden at den popper op )...

Hvad er koden til det?, den må helst ikke bruge Winsock modulet. Da der så vil være software problemer med ældre Windows :-) Og det kan vi jo ik have ( Da jeg ikke gider inkludere en ny version på 700 kb i mit installitions program :-)

Ps. Jeg har E-Mailen, Og hvad skal der stå i subjekt. ( Der skal ik stå noget i teksten. Da den skal være beregnet til SMS beskder )

Mvh
Silverwolf
Avatar billede tdaugaard Nybegynder
25. maj 2000 - 13:40 #1
Du kan bruge en SMTP kontrol istedet ... jeg har en der hedder EsSmpt der fylder 43 KB!! Der slipper du helt for Outlook og MAPI. Så har du også nemmere kontrol over det hele mht. fejl ..

Jeg har uploaded EsSmpt til http://www.tdaugaard.dk/eksperten/essmpt.zip
Avatar billede tdaugaard Nybegynder
25. maj 2000 - 13:42 #2
Sorry ... jeg har skrevet SMPT, det skulle være SMTP alle steder (incl. linket ... http://www.tdaugaard.dk/eksperten/essmtp.zip)
Avatar billede ahl Nybegynder
25. maj 2000 - 17:56 #3
Det kan nemlig ikke lade sig gøre at sende email via Outlook!
Avatar billede tdaugaard Nybegynder
25. maj 2000 - 18:36 #4
Virker MAPI kun med Outlook Express ???
Avatar billede winkill Nybegynder
25. maj 2000 - 19:15 #5
Her er en ret simpel løsning...

Private Sub SendEnMail(TilAdresse As String, Emne As String, Tekst As String, Optional VedhæftetFil As String)
    Dim outlook, mail
    Set outlook = CreateObject("Outlook.Application")
    MAPI = outlook.GetNameSpace("MAPI")
    Set mail = outlook.CreateItem(0)
    mail.Recipients.Add (TilAdresse)
    mail.Subject = Emne
    mail.Body = Tekst
    If VedhæftetFil <> "" Then mail.Attachments.Add (VedhæftetFil)
    mail.send
End Sub

Private Sub Form_Load()
    SendEnMail "xxx@xxx.xx", "Dette er en test.", "Her er en lille test.", "C:\MinFil.txt"
    SendEnMail "xxx@xxx.xx", "Dette er en test.", "Her er en lille test."
End Sub

Det virker både i VB og VBScript
Avatar billede silverwolf Nybegynder
25. maj 2000 - 21:00 #6
Winkill >

Hmm Jeg mangler den active X modul som skal have den til at sende det. Kunne jeg få dig til at oploade den der Outlook 8.0 et-eller-andet modul et eller andet sted. :-) Så ville jeg elske det! :-)

For det ligesådan jeg vil have det!
Avatar billede winkill Nybegynder
25. maj 2000 - 21:02 #7
Har du ikke Office tingen ? Eks. Office 2000
Avatar billede silverwolf Nybegynder
25. maj 2000 - 21:20 #8
> Winkill

Så skal jeg finde cden.. som jeg ik har.. :-)
Avatar billede winkill Nybegynder
25. maj 2000 - 21:23 #9
Hmmm... så skal du nok følge tdaugaard's svar eller begynde att lege med Winsock...
Avatar billede tdaugaard Nybegynder
25. maj 2000 - 23:11 #10
EsSmtp OCX'en virker HELT perfekt!! Har prøvet at sende og modtage med dens søster OCX, EsPop.

Når du bruger CreateObject("Outlook.Application") så skal den starte Outlook [Express]. Med EsSmtp kører det hele internt og kan også bruges et sted hvor der ikke er adgang til Outlook [Express].
Avatar billede winkill Nybegynder
26. maj 2000 - 06:10 #11
Som hvor? Har alle PC'ere med Windows ikke enten MS Outlook eller Outlook Express ?!

Men hvis det skal virke på ALLE PC'ere så brug Winsock - så er du sikker.
Avatar billede tdaugaard Nybegynder
26. maj 2000 - 12:22 #12
<< winkill >>
Nææ ... i VB installerer den de evt. ActiveX kontroller du måtte have brugt når en bruger installere et program lavet i VB med dets installations program.

Jeg har aldrig hørt om at man kan bruge Winsock til at sende mails med (dermed ikke sagt at det ikke kan lade sig gøre)...

Lad mig se, Slagelse Handelsskole der kører de en web-baseret intranet version af Outlook ... det gør at vi kunne læse vores email lige meget hvilken computer vi sad ved. Og der var IKKE installeret Outlook/OE ..
Avatar billede winkill Nybegynder
28. maj 2000 - 17:49 #13
tdaugaard >> Det kan da ikke være så svært via Winsock.

1) Log på din SMTP server.
2) Send MAIL FROM:din@adresse.dk
3) Send RCPT TO:modtager@adresse.dk
4) Send DATA
5) Send indholdet af din mail.
6) Send en linieskift, et '.' og et linieskift.

og hvorfor skulle VB i øvrigt installerer noget som helst, OE ligger på praktisk talt enhver Win maskine. Det eneste der er brug for at installerer er MSVBVM60.DLL eller hvad den hedder.
Avatar billede tdaugaard Nybegynder
28. maj 2000 - 22:05 #14
<< winkill >>
(OE refererer til OE eller Outlook...)

For at bruge OE kræver det at OE er sat op til en account med en gyldig SMTP server, hvilket man ikke kan regne med at alle har da der er mange der har HotMail, Yahoo oma. gratis email adresser.

Som jeg sagde så er der IKKE installeret OE på de ca. 200-300 computere der er på Slagelse Handelsskole. Allerede her vil man miste mange potentielle brugere.

Der er også den mulighed at brugeren bruger Netscape's Mail program istedet for OE, hvorved der ikke er sat nogen SMTP server op i OE. Ergo er OE løsningen ikke ret god da du vil minimere din målgruppe til kun at rette sig mod dem der bruger OE.

Jeg sagde ikke at det skulle være svært eller at det ikke kunne lade sig gøre med Winsock, jeg sagde bare at det havde jeg ikke hørt om - men det har jeg så nu.
Avatar billede winkill Nybegynder
29. maj 2000 - 05:53 #15
tdaugaard >> Ok, jeg tænkte jo ikke lige på at Outlook (Uanset om der står Express foran eller ikke) skal være sat op før den kan bruges (I LOVE YOU beviste vidst at der er rigeligt der bruger Outlook) men du har nu helt ret.

Men nu vi er ved det, så kunne man jo også gøre det via HTTP. Man opretter en konto ved Hotmail og bruger MS Internet Transfere Control til at logge sig ind og sende mailen.

SilverWolf >> Hvis du er interesseret brygger jeg lige et eksempel sammen på ovenstående ?
Avatar billede tdaugaard Nybegynder
29. maj 2000 - 11:33 #16
<< winkill >>

Okaaay ... hvordan vil du gøre det (med HotMail) ?? (har altid undret mig hvordan det ville kunne lade sig gøre at "skrive" i felterne uden at "være" visuelt på siden)
Avatar billede winkill Nybegynder
29. maj 2000 - 14:53 #17
tdaugaard > Okey, ved login på hotmail.com bliver man redirected et par gange, så det går nok ikke uden brug af WinSock, eller et komponent der kan "poste" og som kan registrere redirects.
Men det er muligt (blot ikke men Internet Transfere Control blad den ikke sammen med Internet Control som er et visuelt komponent)
Avatar billede larsen Nybegynder
20. januar 2001 - 00:09 #18
Her kan du få koden til at sende mails inkl. vedhæftninger :

http://support.microsoft.com/support/kb/articles/Q161/0/88.ASP
Avatar billede renewiuff Nybegynder
25. februar 2002 - 09:29 #19
Lytter
Avatar billede kh-proffcom Nybegynder
28. maj 2002 - 12:06 #20
Hvordan undgår man at outlook kommer op og spørger om det må sende en email? Har kigget lidt i sikkerhedsindstillinger, men synes ikek kunne finde noget.
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