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

Subrutin för snabb mailhantering i asp

Postad 2007-05-18 av Jonas Boman i sektionen ASP.NET, C#, Okategoriserat med 0 Kommentarer | Läst av: 4886, Betyg: 0%

Förord

Jag gjorde denna funktionalitet när jag utvecklade www.pinjata.com. Smidigt för mailhantering, så som påminnelsemail, glömt-lösen-mail, nyhetsbrev, Du-har-fått-ett-nykort-mail. CDO används - något nyare än CDONTS.Newmail XHTML 1 validerad och lätt att anpassa i css ( medföljer ej ) Funktionen Generate_mail och Subrutinen SendMail läggs med fördel i en fil som inkluderas på alla sidor eller på de sidor som de behövs. Inget har gjorts i funktionen för att kontrollera escapade tecken. Lite får man göra själv ;)
Innehåll
  » Skapa HTML-mall för mailet
  » Generera html-innehållet
  » Skicka-mail subrutinen
  » Plain text-version-funktion
  » Anropa subrutinen
Relaterade artiklar
  » Skapa en bildomskalningssubrutin - med aspImage
  » Skapa en bildomskalningssubrutin - med w3Image
  » Skapa en bildomskalningssubrutin för aspJpeg


Skapa HTML-mall för mailet



<%
Function Generate_mail(m_subject, m_headline1, m_text1, m_headline2, m_text2,
m_headline3, m_text3)
m_html=("Transitional//EN"" ""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"">")&VbCrLf
m_html=m_html&("")&VbCrLf
m_html=m_html&(" ")&VbCrLf
m_html=m_html&(" "&m_subject&" ")&VbCrLf
m_html=m_html&(" href=""http://www.foretaget.com/css/newsletter.css"" />")&VbCrLf
m_html=m_html&(" ")&VbCrLf
m_html=m_html&(" ")&VbCrLf
m_html=m_html&("
")&VbCrLf
m_html=m_html&("

href=""http://www.foretaget.com/"">Företaget

")&VbCrLf
m_html=m_html&("
")&VbCrLf&VbCrLf

m_html=m_html&("
")&VbCrLf
If m_headline1 <> "" Then m_html=m_html&("

"&m_headline1&"

")&VbCrLf
If m_text1<> "" Then
m_html=m_html&(" "&m_text1&"") &VbCrLf&VbCrLf
End If

If m_headline2 <> "" Then m_html=m_html&("

"&m_headline2&"

")&VbCrLf
If m_text2<> "" Then
m_html=m_html&(" "&m_text2&"") &VbCrLf&VbCrLf
End If

If m_headline3 <> "" Then m_html=m_html&("

"&m_headline3&"

")&VbCrLf
If m_text3<> "" Then
m_html=m_html&(" "&m_text3&"") &VbCrLf&VbCrLf
End If
m_html=m_html&("
")&VbCrLf


m_html=m_html&("
Företaget AB ")& VbCrLf
m_html=m_html&(" info@foretaget.com ")&VbCrLf
m_html=m_html&(" www.foretaget.com
")&VbCrLf
m_html=m_html&(" ")&VbCrLf
m_html=m_html&("")
Generate_mail=m_html
End Function
%>
Jag brukar använda h3 på rubrik 2 och 3 men det ville inte Pellesoft. Det blir någon felformatering.

Observera nu att när styckena läggs in inte omsluts av

&

. Detta för att jag använder fckeditor som automatiskt lägger till dessa, så de finns redan i min databas.
Du kan även definiera CSS direkt i mallen om du vill.

Det är bäst att använda 100% i bredd på html, body och div. p och h1, h2 mfl har det redan fördefinierat då de är inline:block;
Använd % eller ems för fonter och linjehöjd. Detta för att underlätta för synskadade och tänka på användarvänligheten.
Html är bara att trycka in också - Men tänk på valideringen - ;)


Generera html-innehållet

<%
subject = "Nyhetsbrev vecka 19"
headline1="Tjena din gamle galosch"
text1= "Här kan du skicka in din artikel till pellesoft och få den publicerad. "&_
"Följ nedanstående steg och se till att vara noggrann för att minska arbetet vid publicering. "&_
"Alla eventuella bilder och bifogade filer laddas upp. "&_
"Du behöver inte ha allt material klart nu utan kan komplettera online tills du är nöjd. "&_
"Se högerkolumnen."

headline2=""
text2="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore . "&_
"Ut enim ad minim veniam, quis nostrud exercitation ex ea commodo consequat. "&_
"Duis aute irure dolor in reprehenderit in voluptate velit pariatur. "&_
"Excepteur sint occaecat cupidatat non proident, mollit anim id est laborum. "

headline3="Avslutningsvis"
text3="Tack för visat intresse!

Lars "
htmlbody=Generate_mail(subject, headline1, text1, headline2, text2, headline3, text3)

%>

Raderna brytna här för att det skall se bra ut i artikeln.

Nu har du en klar HTMLmall klart att skicka!


Skicka-mail subrutinen

Också att inkludera i samma fil
<%
'Syntax: SendMail [To], [From], [Mail Subject], [HTML Body], [BCC]

'**Example:
'SendMail """Anders Andersson"" ", """Företaget AB""
", "Welcome!", "

Hi!

", emaillist

Sub SendMail(strTo, strFrom, strSubject, strBody, strBCC)
Set msg = Server.CreateObject("CDO.Message")
'On Error Resume Next
msg.To = strTo
msg.From = strFrom
If strBCC<> "" Then msg.Bcc=strBCC
msg.Subject = strSubject
msg.HTMLBody = strBody
' ** Ta bort kommentartecknen om en plain-text-version skall skickas med.
' Bra att göra ibland då webbaserade mail inte alltid läser HTML fullt ut
' Se funktion för ClearHTMLTags stycket nedan.
'textbody=Replace(strBody,VbCrLf,"")
'textbody=Replace(strBody,"

",(VbCrLf&VbCrLf))
'msg.textBody = ClearHTMLTags(Replace(strBody," ",VbCrLf), 2)
msg.Send
Set msg = Nothing
End Sub
%>



Plain text-version-funktion

Skall inkluderas tillsammans med funktionen och subrutinen
<%
Function ClearHTMLTags(strHTML, intWorkFlow)
dim regEx, strTagLess
strTagless = strHTML
set regEx = New RegExp
regEx.IgnoreCase = True
regEx.Global = True
if intWorkFlow <> 1 then
regEx.Pattern = "<[^>]*>"
strTagLess = regEx.Replace(strTagLess, " ")
end if
if intWorkFlow > 0 and intWorkFlow < 3 then
regEx.Pattern = "[<]"
strTagLess = regEx.Replace(strTagLess, "<")
regEx.Pattern = "[>]"
strTagLess = regEx.Replace(strTagLess, ">")
end if
set regEx = nothing
ClearHTMLTags = strTagLess
End Function

%>



Anropa subrutinen

Det är jättelätt!

<%
sendto="jonas@foretaget.com" 'Eller utökat; sendto="""Jonas"" "
sendfrom= "frasse@hotmail.com" 'Eller utökat; sendfrom="""Frasse"" "
mail_subject="Nyhetsbrev vecka 19"

'Här kan vi ha en lista på BCC-mottagare. Perfekt när man skall skicka nyhetsbrev.
'Jag brukar då använda samma ansändare som mottagare (sendto & sendfrom)
bcclist=""

' Och mailinnehållet som vi genererade innan (htmlbody)
SendMail(sendto, sendfrom, mail_subject, htmlbody, bcclist)

%>

Klart!!


Lycka till!
Jag kommer att komplettera med ett eller flera css-exempel senare.

Jonas
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 153
27 952
271 704
692
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