Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Artiklar / Titel på artikeln

Skicka mail med cdonts

Postad 2001-02-17 av Pelle Johansson i sektionen ASP.NET, C#, Okategoriserat med 0 Kommentarer | Läst av: 11942, Betyg: 80%

Förord

Det är många som har frågat hur man gör för att skicka mail från en ASP-sida. Jag tänkte förklara hur man använder sig av CDONTS (Microsoft Collaboration Data Objects) för Windows NT Server. Det finns ett flertal funktioner till CDONTS men objektet NewMail är det jag tänkte behandla i denna artikel.
Innehåll
  » Exempel 1
  » Exempel 2
  » Sammanfattning
CDONTS som finns att ladda hem här till höger avser de maskiner som inte har IIS, exempelvis Windows 98 som använder PWS webbserver. Alla IIS maskiner har CDONTS installerat default - men dock är den inte uppsatt automatiskt. Se då länken ovan i relaterat till:

Anropa CDONTS
För att instansiera objektet NewMail skriver vi:

Set SMTP = Server.CreateObject("CDONTS.NewMail")

From
För att berätta från vem mailet är skickat så använder vi .From egenskapen. Denna egenskap måste finnas med och man kan inte ange fler avsändare.

SMTP.From = "justme@myaddress.com"

To
Mottagarens mailadress anges med .To egenskapen. Egenskapen .To kan användas för en eller fler mailadresser och de måste då separeras med ett semikolon ;.

SMTP.To = "friend1@address1.com;friend2@address2.com"

CC
egenskapen .CC används för att skicka en kopia till någon. Förutom .CC finns även .Bcc och det används för att skicka en dold kopia (även kallad blind kopia). Ingen av dessa engenskaper måste användas när man skriver mailet.

SMTP.Cc = "friend3@address3.com;friend4@address4.com"
SMTP.Bcc = "friend5@address5.com;friend6@address6.com"


Subject
Det är viktigt att skicka en rubrik, kallad subject och är en förklaring om vad mottagaren förväntas läsa i detta mailet. Du måste inte skicka med ett subjekt, men det är en artighet att skriva det.

SMTP.Subject = "sending email via CDONTS NewMail"

BodyFormat
Egenskapen BodyFormat sätter formatet på texten. Du kan använda dig av två typer för att skicka ett email, antingen används 0 för att skicka meddelandet som en HTML-text, eller 1 som betyder att det är ren textinformation. Om du inte använder dig av egenskapen .BodyFormat så blir det automatiskt vanlig text.

SMTP.BodyFormat = 1

MailFormat

Hur mailet skall skickas över Internet kanske inte är det första man tänker på. Det finns i alla fall två typer: 0 indikerar att objektet skickas med MIME format, 1 betyder att det skickas i ren text. Du måste inte ange .MailFormat och default är 1. Denna egenskap används främst få man skickar ett Attachmen (bifogat objekt).

SMTP.MailFormat = 0

Importance

Att sätta Importance egenskapen tillåter dig att bestämma hur viktigt mailet skall vara. Du sätter 0 om det inte är viktigt, 1 om det är viktigt och 2 om det är mycket viktigt.

SMTP.Importance = 2

ContentLocation

Med denna parameter kan du sätta en absolut eller relativ sökväg som default är till alla de bifogade bilder och annat som du infogar i ditt mail. Denna parameter används när man arbetar med MIME formatet.

Istället för att skriva

Value

Du kan även använda dig av en funktion som heter .Value för att skicka in speciella parametrar. Exempel på detta kan vara Confidential - alltså att även mailet går vidare till en mottagare som den primära mottagaren inte ser. Funktioner som dessa varierar lite på vilken mailklient som används.

SMTP.Value("Reply-To") = "Chefen"
SMTP.Value("Confidential") = "För en direktrapport"


Du kan även använda parametrar som "To", "From", "Subject", och "Date".

Body
Att nu bifoga själva meddelandet gör man genom att sätta det i .Body egenskapen. Detta kan vara ren text eller HTML-kod som kan användas (se .BodyFormat). Du måste inte skicka med något i .Body men mail brukar innehålla någon form av text.

SMTP.Body = "Sending email with CDONTS NewMail" &_
"objects is easy! Try it!"

AttachFile

Om vi vill inkludera någonting till vårt mail så använder vi .AttachFile metoden. Denna metod har tre parameterar som skall användas:

SMTP.Attachfile [källa], [filnamn], [kodningstyp]

Källa

Den första parametern är källa - innehållande den fulla sökvägen inklusive filnamnet.

Filnamn
Detta är valfritt att använda och här anger du filnamnet som kommer synas som den bifogade filen.

Kodningstyp
Detta är valfritt. Du anger 0 vilket innebär att den bifogade filen skickas i kodat format enligt UUEncode standard. 1 betyder att den bifogade filen skickas med Base64 format. Base64 är det som oftast används och UUEncode är ett äldre format.

Om MailFormat sätts till 1, blir default EncodingMethod 0. Om MailFormat sätts till 0, blir EncodingMethod 1.

Info - kodningstyp används för att översätta alla ASCII tecken över 127 så att man exempelvis inte skickar ÅÄÖ över nätet för det är faktiskt så att man endast använder 127 tecken på Internet och Mail. Här läser man in tre tecken i taget och de räknas om och ersätts med 4 tecken. Därmed kan man säga att alla bifogade filer blir 25% större eftersom var 3:e tecken får ett extratecken.

Exempel på en attachment kan vara:

SMTP.AttachFile "c:\inetpub\wwwroot\exempel\fil1.zip"

eller om IIS letar reda på sökvägen åt dig:

SMTP.AttachFile Server.MapPath("/fil1.zip")


Send
För att avslutningsvis skicka iväg mailet så används egenskapen .Send och mailet skickas iväg.

SMTP.Send

Frigör objektet
Efter att du skickat mailet skall vi frigöra CDONTS från minnet och det görs genom att sätta det till Nothing.

Set SMTP = Nothing


Det går också att göra detta på ett snabbare sätt om man nu behöver det.

SMTP.Body = "Testar"
SMTP.Send "you@home.se", "me@home.se", "ärende"
Set SMTP = Nothing

För de konstanter som finns kan du skapa följande includefil och använda dig av:


<%
'--------------------------------------------------------------------
' Microsoft CDONTS.NewMail
' (c) 1999 Microsoft Corporation. All Rights Reserved.
'
' More NT Option Pack Documentation:
' http:///iishelp/iis/htm/asp/amsm0qzj.htm
' CDONTS.NewMail constants include file for VBScript '--------------------------------------------------------------------

'---- BodyFormat Property ----
Const CdoBodyFormatHTML = 0 ' The Body property is to include (HTML).
Const CdoBodyFormatText = 1 ' The Body property is to be exclusively in plain text (default value).

'---- MailFormat Property ----
Const CdoMailFormatMime = 0 ' The NewMail object is to be in MIME format.
Const CdoMailFormatText = 1 ' The NewMail object is to be in uninterrupted plain text (default value).

'---- Importance Property ----
Const CdoLow = 0 ' Low importance
Const CdoNormal = 1 ' Normal importance (default)
Const CdoHigh = 2 ' High importance

'---- AttachFile and AttachURL Methods ----
Const CdoEncodingUUencode = 0 ' The attachment is to be in UUEncode format (default).
Const CdoEncodingBase64 = 1 ' The attachment is to be in base 64 format.
%>

Spara sedan denna fil som cdovbs.inc, så kan du använda den på följande sätt sedan:



Exempel 1

Nedan ser du en exempelkod för ett vanligt mail via cdonts.

<%@LANGUAGE="VBSCRIPT"%>
<%
Option Explicit
Dim SMTP
%>

<%
Set SMTP = Server.CreateObject("CDONTS.NewMail")
SMTP.From = "info@pellesoft.se"
SMTP.To = "mottagare@foretag.se"
SMTP.Subject = "Ett testmeddelande"
SMTP.Body = "Detta är ett testmeddelande som du kan använda"
SMTP.BodyFormat = CdoBodyFormatText
SMTP.MailFormat = CdoMailFormatText
SMTP.Importance = CdoNormal
SMTP.Send
Set SMTP = Nothing
%>

CDONTS.NewMail exempel

Ditt mail har nu skickats!





Exempel 2

Nedan ser du ett exempel hur du gör för att skicka epost i html-format

<%@LANGUAGE="VBSCRIPT"%>
<%
Option Explicit
Dim SMTP
%>

<%
Set SMTP = Server.CreateObject("CDONTS.NewMail")
SMTP.From = "info@pellesoft.se"
SMTP.To = "mottagare@foretag.se"
SMTP.Subject = "Ett testmeddelande"

HTML = HTML & ""
HTML = HTML & ""
HTML = HTML & "Ett mail skickat med html-format"
HTML = HTML & ""
HTML = HTML & ""
HTML = HTML & "

"
HTML = HTML & "Pellesoft visar ett exempel

"
HTML = HTML & "på att skicka html-mail

"
HTML = HTML & "

Som du ser om du använder"
HTML = HTML & "en webbläsare som kan visa htmlmail, att detta"
HTML = HTML & "faktiskt är html."
HTML = HTML & "

"
HTML = HTML & ""
HTML = HTML & ""

SMTP.Body = HTML

SMTP.BodyFormat = CdoBodyFormatHTML
SMTP.MailFormat = CdoMailFormatMime
SMTP.Importance = CdoNormal
SMTP.Send
Set SMTP = Nothing
%>

CDONTS.NewMail exempel

Ditt mail har nu skickats!




Vanliga fel:
» Error 8002801d Library not registered

Skicka om
Ytterligare en sak är viktigt att tänka på. Om du mailar till fler personer på samma gång måste du tyvärr skriva Set SMTP = Nothing även innanför loopen för att posterna skall gå iväg korrekt. Ett exempel nedan är att du skickar ett mail till alla i dina användare från din databas.


Meddelande = "Ett meddelande till alla personer i min tabell"

Do While Not rst.EOF

Set SMTP = Server.CreateObject("CDONTS.NewMail")
SMTP.From = "info@pellesoft.se"
SMTP.To = Rst("epost")
SMTP.Subject = Meddelande
SMTP.Body = HTML
SMTP.Send
Set SMTP = Nothing

Rst.MoveNext
Loop



Sammanfattning

Nu har du fått en inblick i hur du använder CDONTS för att skicka ett mail. Nästa kurs kommer presentera hur du gör för att skriva ett system så du kan göra ett program för att göra en egen mailinglista.


Var denna artikeln användbar?
Om du gör någon intressant (eller kanske något konstigt fel) på grund av detta material så skicka gärna det med ett mail eller bifoga en länk till mig så presenterar jag detta som ytterligare exempelfiler för kursen. Om detta innehållet är felaktigt eller du lärt dig fler finesser så skriv gärna en rad eller varför inte en egen kurs baserat på dina erfarenheter. Sänd gärna in dina tips till denna kurs.

/Pelle Johansson

Upp

0 Kommentarer

Skriv en kommentar på artikeln

Ditt betyg på artikeln



Kommentar:





Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 154
27 952
271 704
532
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies