Hej! Först måste du nog tala om vilken mailkomponent som du har tillgång till. CDONTS är en komponent som du kan anropa från asp ganska enkelt. Som Anna-Karin sa här så kan du söka på cdonts i sektionen artiklar så finner du flera sådana. Tack för era svar, har tittat på cdonts och kan nog använda det, men var lägger jag den koden för att det bara skall skickas mail om allt går bra, inte om ngt strular med databasen. Förslagsvis inom if-satsen. Du hämtar upp alla fält där och dessa kan du återanvända och sedan skicka mailet. Det finns som sagt var flera artiklar med detta och från mail = createobject till set mail = nothing är den enda kod du behöver. Blir tokig, det fungerar inte. PRatade med leverantören och de har stöd för CDONTS men rekommenderade aspmail som de också har. Koden ser rätt ut men det finns lite man bör känna till. Exempelvis måste from-adressen vara en godkänd adress som finns i din mailbox. Så SMTP.From = "justme@myaddress.com" kommer programmet inte att tillåta. Tack snälla för din hjälp! Skapa en helt tom sida Lösningen kanske närmar sig, tack ännu en gång för dina svar.Total nybörjare behöver hjälp!
Jag har gjort en sida för anmälningsregistrering i Frontpage. Datan lagras i en Accessdatabas. Jättebra eftersom det fanns en guide för detta i Frontpage.
Jag skulle nu vilja att det efter att man anmält sig går ut ett mail till personen att anmälan är mottagen, hittar inte ngn automatisk funktion för detta. Hur gör jag?Sv: Total nybörjare behöver hjälp!
Gör annars en sökning på CDONTS här eller på google så kommer du att få massor av träffar och kodexempel.
//Anna-KarinSv: Total nybörjare behöver hjälp!
Om du gör detta på din lokala dator bör du även kasta ett öga på att ställa in din smtp-server så att mailen åker iväg men ligger du på hotell som stöder asp är det med största säkerhet så att den är installerad och klar att använda.
Du kan läsa mer om detta på Artikel [Skicka mail med cdonts]
Tidigare felkällor och diskussioner finns på Artikel [CDONTS fungerar inte korrekt]Sv: Total nybörjare behöver hjälp!
Såhär ser koden ut
On Error Resume Next
Session("FP_OldCodePage") = Session.CodePage
Session("FP_OldLCID") = Session.LCID
Session.CodePage = 1252
Session.LCID = 1053
Err.Clear
strErrorUrl = "fel.htm"
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
If Request.Form("VTI-GROUP") = "0" Then
Err.Clear
Set fp_conn = Server.CreateObject("ADODB.Connection")
FP_DumpError strErrorUrl, "Det går inte att skapa en anslutning."
Set fp_rs = Server.CreateObject("ADODB.Recordset")
FP_DumpError strErrorUrl, "Det går inte att skapa en postuppsättning."
fp_conn.Open Application("adress_ConnectionString")
FP_DumpError strErrorUrl, "Det går inte att öppna databasen."
fp_rs.Open "Resultat", fp_conn, 1, 3, 2 ' adOpenKeySet, adLockOptimistic, adCmdTable
FP_DumpError strErrorUrl, "Det går inte att öppna en postuppsättning."
fp_rs.AddNew
FP_DumpError strErrorUrl, "Det går inte att lägga till en ny postuppsättning i databasen."
Dim arFormFields0(13)
Dim arFormDBFields0(13)
Dim arFormValues0(13)
arFormFields0(0) = "Kontakt_Fornamn"
arFormDBFields0(0) = "Kontakt_Fornamn"
arFormValues0(0) = Request("Kontakt_Fornamn")
arFormFields0(1) = "Kontakt_Adress2"
arFormDBFields0(1) = "Kontakt_Adress2"
arFormValues0(1) = Request("Kontakt_Adress2")
arFormFields0(2) = "Kontakt_Land"
arFormDBFields0(2) = "Kontakt_Land"
arFormValues0(2) = Request("Kontakt_Land")
arFormFields0(3) = "Kontakt_Epostadress"
arFormDBFields0(3) = "Kontakt_Epostadress"
arFormValues0(3) = Request("Kontakt_Epostadress")
arFormFields0(4) = "Kontakt_Befattning"
arFormDBFields0(4) = "Kontakt_Befattning"
arFormValues0(4) = Request("Kontakt_Befattning")
arFormFields0(5) = "Kontakt_TelefonHem"
arFormDBFields0(5) = "Kontakt_TelefonHem"
arFormValues0(5) = Request("Kontakt_TelefonHem")
arFormFields0(6) = "Kontakt_Organisation"
arFormDBFields0(6) = "Kontakt_Organisation"
arFormValues0(6) = Request("Kontakt_Organisation")
arFormFields0(7) = "Kontakt_Fax"
arFormDBFields0(7) = "Kontakt_Fax"
arFormValues0(7) = Request("Kontakt_Fax")
arFormFields0(8) = "Kontakt_Efternamn"
arFormDBFields0(8) = "Kontakt_Efternamn"
arFormValues0(8) = Request("Kontakt_Efternamn")
arFormFields0(9) = "Kontakt_Gatuadress"
arFormDBFields0(9) = "Kontakt_Gatuadress"
arFormValues0(9) = Request("Kontakt_Gatuadress")
arFormFields0(10) = "Kontakt_Stad"
arFormDBFields0(10) = "Kontakt_Stad"
arFormValues0(10) = Request("Kontakt_Stad")
arFormFields0(11) = "Kontakt_Postnummer"
arFormDBFields0(11) = "Kontakt_Postnummer"
arFormValues0(11) = Request("Kontakt_Postnummer")
arFormFields0(12) = "Kontakt_TelefonArbete"
arFormDBFields0(12) = "Kontakt_TelefonArbete"
arFormValues0(12) = Request("Kontakt_TelefonArbete")
FP_SaveFormFields fp_rs, arFormFields0, arFormDBFields0
If Request.ServerVariables("REMOTE_HOST") <> "" Then
FP_SaveFieldToDB fp_rs, Request.ServerVariables("REMOTE_HOST"), "Namn_på_fjärrdator"
End If
FP_SaveFieldToDB fp_rs, Now, "Tidsstämpel"
If Request.ServerVariables("HTTP_USER_AGENT") <> "" Then
FP_SaveFieldToDB fp_rs, Request.ServerVariables("HTTP_USER_AGENT"), "Typ_av_webbläsare"
End If
If Request.ServerVariables("REMOTE_USER") <> "" Then
FP_SaveFieldToDB fp_rs, Request.ServerVariables("REMOTE_USER"), "Användarnamn"
End If
fp_rs.Update
FP_DumpError strErrorUrl, "Det går inte att uppdatera databasen."
fp_rs.Close
fp_conn.Close
Session("FP_SavedFields")=arFormFields0
Session("FP_SavedValues")=arFormValues0
Session.CodePage = Session("FP_OldCodePage")
Session.LCID = Session("FP_OldLCID")
Response.Redirect "tack.htm"
End If
End If
Session.CodePage = Session("FP_OldCodePage")
Session.LCID = Session("FP_OldLCID")Sv: Total nybörjare behöver hjälp!
Sv: Total nybörjare behöver hjälp!
Jag har nu lagt in båda men det fungerar inte något av det. Vad har jag gjort för fel?
En annan fråga är hur jag gör för att mailet bara skall skickas om allt blir rätt, dvs inte om ngt går fel och datan inte lagras i databasen?
Här kommer koden (maildelen är längst ner)
On Error Resume Next
Session("FP_OldCodePage") = Session.CodePage
Session("FP_OldLCID") = Session.LCID
Session.CodePage = 1252
Session.LCID = 1053
Err.Clear
strErrorUrl = "fel.htm"
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
If Request.Form("VTI-GROUP") = "0" Then
Err.Clear
Set fp_conn = Server.CreateObject("ADODB.Connection")
FP_DumpError strErrorUrl, "Det går inte att skapa en anslutning."
Set fp_rs = Server.CreateObject("ADODB.Recordset")
FP_DumpError strErrorUrl, "Det går inte att skapa en postuppsättning."
fp_conn.Open Application("adress_ConnectionString")
FP_DumpError strErrorUrl, "Det går inte att öppna databasen."
fp_rs.Open "Resultat", fp_conn, 1, 3, 2 ' adOpenKeySet, adLockOptimistic, adCmdTable
FP_DumpError strErrorUrl, "Det går inte att öppna en postuppsättning."
fp_rs.AddNew
FP_DumpError strErrorUrl, "Det går inte att lägga till en ny postuppsättning i databasen."
Dim arFormFields0(17)
Dim arFormDBFields0(17)
Dim arFormValues0(17)
arFormFields0(0) = "Faktura_postnr"
arFormDBFields0(0) = "Faktura_postnr"
arFormValues0(0) = Request("Faktura_postnr")
arFormFields0(1) = "Kontakt_Fornamn"
arFormDBFields0(1) = "Kontakt_Fornamn"
arFormValues0(1) = Request("Kontakt_Fornamn")
arFormFields0(2) = "Faktura_telefon"
arFormDBFields0(2) = "Faktura_telefon"
arFormValues0(2) = Request("Faktura_telefon")
arFormFields0(3) = "Faktura_ort"
arFormDBFields0(3) = "Faktura_ort"
arFormValues0(3) = Request("Faktura_ort")
arFormFields0(4) = "Kontakt_Epostadress"
arFormDBFields0(4) = "Kontakt_Epostadress"
arFormValues0(4) = Request("Kontakt_Epostadress")
arFormFields0(5) = "Kontakt_Land"
arFormDBFields0(5) = "Kontakt_Land"
arFormValues0(5) = Request("Kontakt_Land")
arFormFields0(6) = "Faktura_adress"
arFormDBFields0(6) = "Faktura_adress"
arFormValues0(6) = Request("Faktura_adress")
arFormFields0(7) = "Kontakt_Befattning"
arFormDBFields0(7) = "Kontakt_Befattning"
arFormValues0(7) = Request("Kontakt_Befattning")
arFormFields0(8) = "Kontakt_TelefonHem"
arFormDBFields0(8) = "Kontakt_TelefonHem"
arFormValues0(8) = Request("Kontakt_TelefonHem")
arFormFields0(9) = "Kontakt_Fax"
arFormDBFields0(9) = "Kontakt_Fax"
arFormValues0(9) = Request("Kontakt_Fax")
arFormFields0(10) = "Kontakt_Organisation"
arFormDBFields0(10) = "Kontakt_Organisation"
arFormValues0(10) = Request("Kontakt_Organisation")
arFormFields0(11) = "Kontakt_Gatuadress"
arFormDBFields0(11) = "Kontakt_Gatuadress"
arFormValues0(11) = Request("Kontakt_Gatuadress")
arFormFields0(12) = "Kontakt_Efternamn"
arFormDBFields0(12) = "Kontakt_Efternamn"
arFormValues0(12) = Request("Kontakt_Efternamn")
arFormFields0(13) = "Faktura_namn"
arFormDBFields0(13) = "Faktura_namn"
arFormValues0(13) = Request("Faktura_namn")
arFormFields0(14) = "Kontakt_Stad"
arFormDBFields0(14) = "Kontakt_Stad"
arFormValues0(14) = Request("Kontakt_Stad")
arFormFields0(15) = "Kontakt_TelefonArbete"
arFormDBFields0(15) = "Kontakt_TelefonArbete"
arFormValues0(15) = Request("Kontakt_TelefonArbete")
arFormFields0(16) = "Kontakt_Postnummer"
arFormDBFields0(16) = "Kontakt_Postnummer"
arFormValues0(16) = Request("Kontakt_Postnummer")
FP_SaveFormFields fp_rs, arFormFields0, arFormDBFields0
FP_SaveFieldToDB fp_rs, Now, "Tidsstämpel"
If Request.ServerVariables("REMOTE_HOST") <> "" Then
FP_SaveFieldToDB fp_rs, Request.ServerVariables("REMOTE_HOST"), "Namn_på_fjärrdator"
End If
If Request.ServerVariables("HTTP_USER_AGENT") <> "" Then
FP_SaveFieldToDB fp_rs, Request.ServerVariables("HTTP_USER_AGENT"), "Typ_av_webbläsare"
End If
If Request.ServerVariables("REMOTE_USER") <> "" Then
FP_SaveFieldToDB fp_rs, Request.ServerVariables("REMOTE_USER"), "Användarnamn"
End If
fp_rs.Update
FP_DumpError strErrorUrl, "Det går inte att uppdatera databasen."
fp_rs.Close
fp_conn.Close
Session("FP_SavedFields")=arFormFields0
Session("FP_SavedValues")=arFormValues0
Session.CodePage = Session("FP_OldCodePage")
Session.LCID = Session("FP_OldLCID")
Response.Redirect "tack.htm"
Set SMTP = Server.CreateObject("CDONTS.NewMail")
SMTP.From = "justme@myaddress.com"
SMTP.To = "ulrika@slottner.net"
SMTP.Subject = "Bekräftelse från oss"
SMTP.Body = "Vi tackar för din anmälan. "
SMTP.Send
Set SMTP = Nothing
Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
Mailer.FromName = "Spädbarnsfonden"
Mailer.FromAddress= "ulrika@slottner.net"
Mailer.RemoteHost = "mail.dataphone.se"
Mailer.AddRecipient "Ulrika Slottner", "ulrika@slottner.net"
Mailer.Subject = "Great SMTP Product!"
Mailer.BodyText = "test, test"
if Mailer.SendMail then
Response.Write "Mail sent..."
else
Response.Write "Mail send failure. Error was " & Mailer.Response
end if
End If
End If
Session.CodePage = Session("FP_OldCodePage")
Session.LCID = Session("FP_OldLCID")Sv: Total nybörjare behöver hjälp!
Anledningen till det är att då skulle du ju kunna säga att du är kungen, ja du förstår...
Om du får något felmeddelande vore det bra om du kunde posta det. Testa att ta bort on error - så du ser vad det är som går fel i programmet i så fall.Sv: Total nybörjare behöver hjälp!
Tyvärr fungerar det inte ändå! Adressen borde jag förstått, men nu har jag ändrat den till min adress så det bord ju gå. Har också tagit bort on error, men får inget felmeddeland. Kommer till tacksidan som vanligt. Känns nästan som den inte "ser" koden. Ligger den på fel ställe eller något?Sv: Total nybörjare behöver hjälp!
<%
Set SMTP = Server.CreateObject("CDONTS.NewMail")
SMTP.From = "ulrika@slottner.net"
SMTP.To = "ulrika@slottner.net"
SMTP.Subject = "Bekräftelse från oss"
SMTP.Body = "Vi tackar för din anmälan. "
SMTP.Send
Set SMTP = Nothing
%>
Får du inte ut något då så är din smpt-server fel inställd. Det är viktigt att där asp-sidan ligger måste också smtp-tjänsten vara igång och konfigurerad.
Om du kör iis-kontrollpanelen och kollar längst ner på smtp-tjänsten att den är igång och konfigurerad. Ligger du på hotell eller ett företag, kontakta dom och säg att du inte får iväg några mail.
Att du inte får några fel tyder i alla fall på att koden är rätt och du behöver således inte leta ihjäl dig där. Nu gäller det att titta lite mer bakom skalet för att komma i mål.
Se artiklar: http://www.pellesoft.se/search.aspx?catid=3&search=cdontsSv: Total nybörjare behöver hjälp!
När jag skapade en helt tom sida fungerade det jättebra, men när jag kopierar in koden i ordinarie formulär går det inte.
Överst på sidan står det ' FP_ASP En ASP-fil skapades automatiskt av en FrontPage-komponent. Redigera den inte. Trodde inte det hade betydelse, men det kanske har väldigt stor betydelse.....
Provade att ta bort all den koden och bara lägga in mailkoden och då gick det. Däremot gick det inte att lägga den under den andra koden, det fungerar inte heller.
Hur kommer jag runt det om det nu beror på detta och hur säkerställer man då att det bara skickas ett maill om allt gått rätt till med uppdatering i databasen osv