Jag har en massa e-postadresser i Access som jag stegar igenom och för varje så vill jag att ett mail ska gå iväg (med standard eposthanteraren). Titel och innehåll är statiskt och hämtas från textrutor i ett formulär. Går detta? Optimalt vore om man också kunde bifoga en/flera filer (samma till alla). Det är klart att det går från andra eposthanterare också men det är lite vanskligt att försöka få ett massutskick att fungera för vilken eposthanterare som helst. Tricket är att använda någon form av DLL eller OCX som kan göra utskicket åt dig från Access direkt. Det var just det... Det behöver inte fungera med vilken e-posthanterare som helst - FirstClass räcker :-) Det borde väl gå fint att använda CDONTS? Nja, jag vill göra det här via VBA, från Access. Jag har kommit så här långt (tack vare ivrigt studerade av tidigare inlägg på denna EMINENTA site): Jag tror inte du kommer att få den varianten att fungera :-( Ivrigt har jag testat... Men hur får jag tillgång till CDONTS? Antar att det är någon referens jag ska lägga till, eller? Får svaret nu att "egendefinierad typ har inte definierats". <citat> Jippi! Det funkar - så långt! CDONTS har en property BodyFormat sätt den till 0 för HTML tror förståss inte att CDONTS är ett alternativ i detta fall. Under mitt ivriga sökande har jag hittat en del om MAPI. Kanske finns lösningen där? Hittar dock ingen msmapi32.ocx på mina datorer. På den ena (den med Office XP Developer) hittar jag msmapi32.dll. MassEpost
Kör jag Access och Outlook har jag kommit så långt att jag kan skicka mail men utan bifogad fil. Men det måste funka även med andra eposthanterare.
Tips mottages tacksamt!
/MariaSv: MassEpost
Sv: MassEpost
Sv: MassEpost
Där kan du attacha filer och ladda subject och body precis som du vill.
(Missförstod kanske frågan... men kan du använda asp och cdonts)Sv: MassEpost
På knappen i formuläret händer följande:
ShellExecute Me.hwnd, "open", "mailto:maria.runnberg@telia.com?Subject=Ämnesraden", vbNullString, vbNullString, 5
I modulen ligger:
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
Då startas e-posthanteraren och ett mail med ämne har skapats. Men jag vill att även meddelandet ska vara ifyllt (body) och att mailet ska skickas automatiskt. Jag har provat att byta ut "open" mot "send", men då händer ingenting... Kanske kan lpParameters innehålla även en parameter för body? Någon som är haj på shell32?Sv: MassEpost
Du får nog satsa på att använda CDONT genom VBA. exempel:
dim myMail as CDONTS.NewMail
set myMail = CREATEOBJECT("CDONTS.NewMail")
myMail.Body = "mitt brev"
myMail.To = "hanna@lexus.org"
myMail.From = "mn@adress"
myMail.Subject = "Ämne"
myMail.SendSv: MassEpost
Kan mswinsck.ocx vara en väg till lösning?
/MariaSv: MassEpost
Då startas e-posthanteraren och ett mail med ämne har skapats. Men jag vill att även meddelandet ska vara ifyllt (body) och att mailet ska skickas automatiskt. Jag har provat att byta ut "open" mot "send", men då händer ingenting... Kanske kan lpParameters innehålla även en parameter för body? Någon som är haj på shell32?
</citat>
Den lägger du till här:
ShellExecute Me.hwnd, "open", "mailto:maria.runnberg@telia.com?Subject=Ämnesraden&Body=Mitt innehåll i mailet", vbNullString, vbNullString, 5
cya,
PatrikBSv: MassEpost
Två saker kvar: mailet öppnas som RTF, kan man använda som HTML istället? Kan man få iväg det automatiskt? Där är jag inne på att byta ut "open" mot något typ "send" - går det?
När jag använt koden ovan öppnas det som HTML.
/Maria (som börjar vädra en lösning....)Sv: MassEpost
'Set the e-mail body format (0=HTML 1=Text)
objCDOMail.BodyFormat = 0Sv: MassEpost
Det är ju en komponent som installeras med SMTP Tjänsten.
Om man skulle använda den så skulle varje klient som kör denna app ha en SMTP tjänst installerad och om jag då var admin så skulle jag INTE tillåta en sådan lösning pga av säkerheten.
Är oxå intresserad om det går att skicka on-the-fly så att säga utan att öppna Outlook eller vad man nu har för ett mailprogram.
Man skulle ju kunna skapa en winsock kontroll och sedan connecta mot SMTP servern och på det sättet skicka fast jag vet inte riktigt hur det blir med prestandan på en sådan lösning.
cya,
PatrikBSv: MAPI???
Varför då, om jag ändå inte får msmapi32.ocx? Är det inte den jag behöver för att kunna använda MAPI??? Förstår mindre och mindre av detta...
Jag är inte längre ute efter den bästa lösningen - jag är ute efter vilken lösning som helst...
WinSock får jag iallafall använda ihop med Office XP så kanske är det vägen jag ska gå.
MVH
/Maria (som börjar bli gråhårig)