Hej Det finns många olika sätt att gå tillväga. Vad har du för mailfunktion på webbservern? Jag brukar använda denna funktionen (är något avskalad) när jag skickar uppgifter från formulär i normala fall hoppas att det kan vara till någon hjälp, och att jag kan få hjälp. Du har ju båda koderna - det är bara att pussla.Webbutik -hur gör man för att skicka mail
Jag hittade Anna-Karins webbutikslösning och tänkte använda den till en mindre butik.
nu undrar jag om någon kan tipsa mig om hur man skiver kod för att kunna skicka mail. Det finns nämligen inte med
Hela sidan där man ska skicka mailet ifrån ser ut så här
<% Option Explicit ' Vi vill ha koll på våra variabler
%><!--#include file="prevent_cache.asp"--><!--#include file="connection.asp"--><!--#include file="functions.asp"--><%
Dim numRecords, v
Dim shBasket, TotalPrice
Dim Details ' En orderbekräftelse som kan mailas till kunden!
IF Session("shCustomerID") = "" THEN
Response.Redirect "shCustomerLogin.asp": response.end
end if
shBasket = Request.Form("shBasket") ' Nu hämtar vi korgen från formuläret!
Dim a, itemsInBasket, One
' Vi hämtar ut alla varors ID-nummer till en kommaseparerad sträng
IF shBasket<>"" THEN
a = Split(shBasket, "|")
For Each One in a
If itemsInBasket <> "" THEN itemsInBasket = itemsInBasket & ","
itemsInBasket = itemsInBasket & Mid(one, 2, InStr(one, "]")-2)
next
End If
' Vi börjar skriva på mailet
Details = "Hej " & Session("shCustomerFname") & vbcrlf & vbcrlf & _
"Här kommer en bekräftelse på din beställning hos AFFÄRNAMN."
Details = Details & VbCrLf & VbCrLf & "Datum:........" & Now() & vbcrlf & _
"Namn:........." & Session("shCustomerFname") & " " & Session("shCustomerLname") & vbcrlf & _
"PostAdress:..." & Request.Form("postalcode") & " " & Request.Form("address") & vbcrlf & _
"E-post:......." & Request.Form("email") & vbcrlf & _
"Telefon:......" & Request.Form("phone") & vbcrlf & vbcrlf
'***** Vi loopar igenom varorna i korgen och lägger prydligt in dem i mailet...
Set Rs = Server.CreateObject("ADODB.RecordSet")
Rs.Open "SELECT * FROM shItems WHERE id IN (" & itemsInBasket & ")",Conn,1,1
Dim noItems
Dim tmp
if not rs.eof then
numRecords = Rs.RecordCount-1
'BackgroundColor = "#EEEEEE"
' funktionen printColumn() finns i functions.asp
Details = Details & printColumn( "#" , 3) & _
printColumn( "Vara", 28) & _
printColumn("á pris", 10) & _
"Summa" & vbcrlf
for v= 0 to numRecords
tmp = printColumn( Rs.Fields("title").Value, 28)
Details = Details & printColumn( itemCount(Rs.Fields("id").Value,false), 3) & _
printColumn( Rs.Fields("title").Value, 28) & _
printColumn(Rs.Fields("price").Value, 10) & _
(itemCount(Rs.Fields("id").Value,false) * Rs.Fields("price").Value )
Details = Details & vbcrlf
TotalPrice = TotalPrice + itemCount( Rs.Fields("id").Value, False) * Rs.Fields("price").Value
Rs.MoveNext
next
Details = Details & vbcrlF & "Total summa: " & TotalPrice
end if
Rs.Close
Details = Details & vbcrlf &"Priserna är inklusive moms. Frakt tillkommer."
Details = Details & vbcrlf & vbcrlf & "Välkommen tillbaka till vår hemsida" & vbcrlf & "http://www.vårhemsida.com"
'**** Details är färdig att mailas. Detta ska dock inte göras förrän orden finns i databasen.
' I variabeln email finns kundens e-post adress
' Ta bort kommentaren på följande linje för att se mailet.
Response.write "<PRE>" & Details & "</PRE>" : Response.End
Dim address, postalcode, city
Dim SQL
address = FormatSQL(Request.Form("address"))
postalcode = FormatSQL(Request.Form("postalcode"))
city = FormatSQL(Request.Form("city"))
SQL = "INSERT INTO shOrders (address,postalcode,city,customer,shBasket,orderDetails,[date],sum) VALUES ("
SQL = SQL & "'" & address & "', '" & postalcode & "', '" & city & "', " & Session("shCustomerID") & ", " & _
"'" & shBasket & "', '" & FormatSQL( Details ) & "', '" & Now() & "','" & TotalPrice & "') "
'response.write SQL
'response.end
Conn.Execute SQL
Set Rs = Conn.Execute("SELECT @@IDENTITY as last_inserted_id")
IF Not Rs.Eof Then
Dim last_inserted_id
last_inserted_id = Rs.Fields(0).Value
Conn.Close
Session("shBasket") = ""
' Här är rätt tillfälle att skicka en bekräftelse via mail!
Response.Redirect "shViewOrder.asp?id=" & last_inserted_id
Response.End
Else
Response.Write "Ett fel uppstod... Här kan man ju hoppa till en annan sida.... :)"
End If
Conn.Close
Set Rs = Nothing
Set Conn = Nothing
%>Sv: Webbutik -hur gör man för att skicka mail
Sv:Webbutik -hur gör man för att skicka mail
<%
Dim strAction, strFrom, strFromName, strTo, strToName, strSubject, strTel, strBody, strServer, strUserPW, strUserName, intMailer, MailText
strToName = Request.Form("strToName")
strTo = "minmail@mindoman.xxx"
strFromName = Request.Form("strFromName")
strFrom = Request.Form("strFrom")
strSubject = Request.Form("strSubject")
strTel = Request.Form("strTel")
strBody = Request.Form("strBody")
intMailer = 4
strAction = 1
strServer="aspmail.serverdoman.com"
strUserName ="mailer@serverdoman.com"
strUserPW ="xxxxx"
MailText = "Ett meddelande har fyllts i på hemsidan med följande uppgifter:" & vbcrlf
MailText = MailText & " " & vbcrlf
If Foretag <>"" Then
MailText = MailText & "Företag: " & Foretag & vbcrlf
End If
MailText = MailText & "Kontaktperson: " & strFromName & " (" & strFrom & ")" & vbcrlf
MailText = MailText & " " & vbcrlf
MailText = MailText & "Telefon: " & strTel & vbcrlf
MailText = MailText & "Meddelande: " & strBody & vbcrlf
MailText = MailText & " " & vbcrlf
MailText = MailText & Telefax & vbcrlf
MailText = MailText & " " & vbcrlf
MailText = MailText & Adress & vbcrlf
MailText = MailText & Adress & vbcrlf
MailText = MailText & Postadress & vbcrlf
MailText = MailText & " " & vbcrlf
MailText = MailText & " " & vbcrlf
Set Mailer = Server.CreateObject("SoftArtisans.SMTPMail")
Mailer.RemoteHost = strServer
Mailer.FromName = strFromName
Mailer.FromAddress = strFrom
Mailer.AddRecipient strToName, strTo
Mailer.UserName = strUserName
Mailer.Password = strUserPW
Mailer.Subject = strSubject
Mailer.CharSet = 2
Mailer.ContentTransferEncoding = 4
Mailer.ContentType = "text/plain"
Mailer.BodyText = MailText
if Mailer.SendMail then
Response.Write "E-mail skickat, vi besvarar er fråga snarast möjlig"
else
Response.Write "E-mailet kunde inte skickas. Fel: " & Mailer.Response
end if
Response.Write "<html>" & vbcrlf
Response.Write "<head>" & vbcrlf
Response.Write "<title>xxxx</title>" & vbcrlf
Response.Write "</head>" & vbcrlf
Response.Write "<body>" & vbcrlf
If strAction ="0" then
SkapaForm()
ElseIf strAction ="1" then
sendMail()
Response.Write "<br><br>" & vbcrlf
Response.Write "<b>Till: </b>" & strToName & " <" & strTo & "><br>" & vbcrlf
Response.Write "<b>Från: </b>" & strFromName & " <" & strFrom & "><br>" & vbcrlf
Response.Write "<b>Telefon: </b>" & strTel & "<br>" & vbcrlf
Response.Write "<b>Ärende: </b>" & strSubject & "<br>" & vbcrlf
Response.Write "<b>Meddelande: </b>" & strBody & "<br>" & vbcrlf
End If
Response.Write "</body>" & vbcrlf
Response.Write "</html>" & vbcrlf
%>Sv: Webbutik -hur gör man för att skicka mail
Här har jag gjort lite, men det fattas säkert en del.
Testa självså lär du dig på samma gång.
<%
Dim strAction, strFrom, strFromName, strTo, strToName, strSubject, strTel, strBody, strServer, strUserPW, strUserName, intMailer, MailText
strToName = Request.Form("strToName")
strTo = Request.Form("email")
strFromName = "Vår butik"
strFrom = "epost@adress.se"
strSubject = "Din beställning"
intMailer = 4
strAction = 1
strServer="aspmail.serverdoman.com"
strUserName ="mailer@serverdoman.com"
strUserPW ="xxxxx"
MailText = details
Set Mailer = Server.CreateObject("SoftArtisans.SMTPMail")
Mailer.RemoteHost = strServer
Mailer.FromName = strFromName
Mailer.FromAddress = strFrom
Mailer.AddRecipient strToName, strTo
Mailer.UserName = strUserName
Mailer.Password = strUserPW
Mailer.Subject = strSubject
Mailer.CharSet = 2
Mailer.ContentTransferEncoding = 4
Mailer.ContentType = "text/plain"
Mailer.BodyText = MailText
if Mailer.SendMail then
Response.Write "E-mail skickat, vi besvarar er fråga snarast möjlig"
else
Response.Write "E-mailet kunde inte skickas. Fel: " & Mailer.Response
end if
%>