Mailto, What about forwardto?

Discussion in 'HTML & Website Design' started by Discreet, Jul 28, 2005.

  1. #1
    I've been trying to figure this out for a few days now and I'm not having any luck. The company I work for sends out email newsletters in html format on a monthly basis to their customers.

    Up until now we've had a mailto link that would just open an email with the subject "Check out this site, www.example.com". But the company wants to go a step further and have the link forward the entire newsletter in the email.

    Now I know you can define a body text in the tag like follows:

    mailto: ?subject=check out this site&body=this is the body content

    But for a newsletter that would get very tricky to do because that's alot of content being dumped into the body= section.

    Does anybody know of a better way of forwarding an email based on a hyperlink?

    thanks :)
     
    Discreet, Jul 28, 2005 IP
  2. Corey Bryant

    Corey Bryant Texan at Heart

    Messages:
    1,126
    Likes Received:
    51
    Best Answers:
    0
    Trophy Points:
    0
    #2
    We wrote some server side code to use instead - similar to the "recommended site". The user enters his email / name and then enters the emails of the people he wishes to send it to. This way, you can pull information from the database if needed etc
     
    Corey Bryant, Jul 29, 2005 IP
  3. eynjeluz

    eynjeluz Peon

    Messages:
    46
    Likes Received:
    3
    Best Answers:
    0
    Trophy Points:
    0
    #3
    can you make a little more broad so i can understand it better... :)

    i'm interested..... thanks
     
    eynjeluz, Jul 30, 2005 IP
  4. forkqueue

    forkqueue Guest

    Messages:
    401
    Likes Received:
    21
    Best Answers:
    0
    Trophy Points:
    0
    #4
    Essentially, you make the web server send the newsletter to the specified email address, rather than using a mailto: link which just opens the viewer's web browser.

    Be very careful about accusations of spam when doing this: anyone can enter anyone else's email address without any sort of confirmation.
     
    forkqueue, Jul 30, 2005 IP
  5. eynjeluz

    eynjeluz Peon

    Messages:
    46
    Likes Received:
    3
    Best Answers:
    0
    Trophy Points:
    0
    #5
    :cool: hhmmmmm...... so you say that the web server will do the sending....i think i got it ..... thanks guys... :D
     
    eynjeluz, Jul 30, 2005 IP
  6. Corey Bryant

    Corey Bryant Texan at Heart

    Messages:
    1,126
    Likes Received:
    51
    Best Answers:
    0
    Trophy Points:
    0
    #6
    Exactly, and if you can use ASP, something like:
      <FORM METHOD="post" ACTION="confirm.asp">
    
    
    
    <center>
    <TABLE BORDER="0" CELLPADDING="7" CELLSPACING="0">
    <% if request.querystring("err")<>"" then
        sendername=session("sendername")
      senderemail=session("senderemail")
    newname1=session("newname(1)")
    newemail1=session("newemail(1)")
    newname2=session("newname(2)")
    newemail2=session("newemail(2)")
    newname3=session("newname(3)")
    newemail3=session("newemail(3)")
    newname4=session("newname(4)")
    newemail4=session("newemail(4)")
    newname5=session("newname(5)")
    newemail5=session("newemail(5)")
    user_message=session("message")
       Select Case request.querystring("err") 
           Case 1 
       %>
     <tr><td colspan="3" style="color: red">Email address for <%=newname1%> is not valid. Please retry ! </td></tr>
     
     <%
      case 2
      %>
     <tr><td colspan="3" style="color: red">Email address for <%=newname2%> is not valid. Please retry ! </td></tr>
     
     <%
      case 3  
       %>
     <tr><td colspan="3" style="color: red">Email address for <%=newname3%> is not valid. Please retry ! </td></tr>
     
     <%
      case 4  
       %>
     <tr><td colspan="3" style="color: red">Email address for <%=newname4%> is not valid. Please retry ! </td></tr>
     
     <%
      case 5   
      %>
     <tr><td colspan="3" style="color: red">Email address for <%=newname5%> is not valid. Please retry ! </td></tr>
     
     <%
      case 6   
      %>
     <tr><td colspan="3" style="color: red">Please enter your email!</td></tr>
     
       <%  
      case 7
       %>
     <tr><td colspan="3" style="color: red">Please enter at least one email address !</td></tr>
     
       <%
       End Select
    
    'response.write sendername
    'response.end
     end if%>
    <TR BGCOLOR="#0000cc" ALIGN="center">
    <TD COLSPAN="3"><font face="arial,helvetica,sans-serif" size="3" color="#ffffff">
    <b>Do you like our site? Tell a friend!</b></FONT></TD>
    </TR>
    <TR BGCOLOR="#DDDDFF" ALIGN="center">
    <TD><BR></TD><TH>Name</TH><TH>email</TH></TR>
    <TR BGCOLOR="#EEEEFF" ALIGN="center">
    <TH ALIGN="right">You:</TH>
    <TD><INPUT TYPE="text" SIZE="15" NAME="sendername" value="<%=sendername%>"></TD>
    <TD><INPUT TYPE="text" SIZE="20" NAME="senderemail" value="<%=senderemail%>"></TD>
    </TR>
    <TR BGCOLOR="#DDDDFF" ALIGN="center">
    <TH ALIGN="right">Friend:</TH>
    <TD><INPUT TYPE="text" SIZE="15" NAME="newname1" value="<%=newname1%>"></TD>
    <TD><INPUT TYPE="text" SIZE="20" NAME="newemail1" value="<%=newemail1%>"></TD>
    </TR>
    <TR BGCOLOR="#EEEEFF" ALIGN="center">
    <TH ALIGN="right">Friend:</TH>
    <TD><INPUT TYPE="text" SIZE="15" NAME="newname2" value="<%=newname2%>"></TD>
    <TD><INPUT TYPE="text" SIZE="20" NAME="newemail2" value="<%=newemail2%>"></TD>
    </TR>
    <TR BGCOLOR="#DDDDFF" ALIGN="center">
    <TH ALIGN="right">Friend:</TH>
    <TD><INPUT TYPE="text" SIZE="15" NAME="newname3" value="<%=newname3%>"></TD>
    <TD><INPUT TYPE="text" SIZE="20" NAME="newemail3" value="<%=newemail3%>"></TD>
    </TR>
    
    <TR BGCOLOR="#EEEEFF" ALIGN="center">
    <TH ALIGN="right">Friend:</TH>
    <TD><INPUT TYPE="text" SIZE="15" NAME="newname4" value="<%=newname4%>"></TD>
    <TD><INPUT TYPE="text" SIZE="20" NAME="newemail4" value="<%=newemail4%>"></TD>
    </TR>
    
    <TR BGCOLOR="#DDDDFF" ALIGN="center">
    <TH ALIGN="right">Friend:</TH>
    <TD><INPUT TYPE="text" SIZE="15" NAME="newname5" value="<%=newname5%>"></TD>
    <TD><INPUT TYPE="text" SIZE="20" NAME="newemail5" value="<%=newemail5%>"></TD>
    </TR>
    
    
    
    <br><br>
    
    <TR BGCOLOR="#EEEEFF"><TD ALIGN="right" VALIGN="top">
    <font face="arial,helvetica,sans-serif" size="2">
    <B>Your<BR>Message:</font></TD>
    <TD COLSPAN="2">
    <TEXTAREA NAME="user_message" COLS="35" ROWS="5" WRAP="on"> <%=user_message%></TEXTAREA>
    </TD></TR>
    
    
    
    <TR BGCOLOR="#EEEEFF" ALIGN="center">
    <TD COLSPAN="3"><INPUT TYPE="submit" VALUE="Send Referral"></TD>
    
    </TD></TR></TABLE>
    </center>
    
    </FORM>
    Code (markup):
    And then in the confirm.asp page:
    <% siteadmin="info@example.com"
        recsite="http://www.example.com"
    %>
    <html>
    <head>
    </head>
    <body>
    <%
        sendername=request.form("sendername")
    senderemail=request.form("senderemail")
    message=request.form("user_message")
    
    dim newname(5)
    dim newemail(5)
    newname(1)=request.form("newname1")
    newemail(1)=request.form("newemail1")
    newname(2)=request.form("newname2")
    newemail(2)=request.form("newemail2")
    newname(3)=request.form("newname3")
    newemail(3)=request.form("newemail3")
    newname(4)=request.form("newname4")
    newemail(4)=request.form("newemail4")
    newname(5)=request.form("newname5")
    newemail(5)=request.form("newemail5")
    if isemail(senderemail) then
        validaddress=false 
        for i=1 to 5
    if newemail(i)<>"" then
    if not isemail(newemail(i)) then 
      session("sendername")=sendername
    session("senderemail")=senderemail
    
    session("newname(1)")=newname(1)
    session("newemail(1)")=newemail(1)
    session("newname(2)")=newname(2)
    session("newemail(2)")=newemail(2)
    session("newname(3)")=newname(3)
    session("newemail(3)")=newemail(3)
    session("newname(4)")=newname(4)
    session("newemail(4)")=newemail(4)
    session("newname(5)")=newname(5)
    session("newemail(5)")=newemail(5)
    session("message")=message
    redir="referral.asp?err=" & i
    
    response.redirect(redir)
    else
    validaddress=true
    end if 
    end if
    
    next
    if not validaddress then
       session("sendername")=sendername
    session("senderemail")=senderemail
    
    session("newname(1)")=newname(1)
    session("newemail(1)")=newemail(1)
    session("newname(2)")=newname(2)
    session("newemail(2)")=newemail(2)
    session("newname(3)")=newname(3)
    session("newemail(3)")=newemail(3)
    session("newname(4)")=newname(4)
    session("newemail(4)")=newemail(4)
    session("newname(5)")=newname(5)
    session("newemail(5)")=newemail(5)
    session("message")=message
    
    
    response.redirect("referral.asp?err=7")
    end if
    for i=1 to 5
    if newemail(i)<>"" then
    Set objJMail = Server.CreateObject("JMail.SMTPMail")
    objJMail.ContentType = "text/plain"
        objJMail.Sender = senderemail 
        objJMail.SenderName= sendername
        objJMail.AddRecipient(newemail(i))
    objJMail.AddRecipient(siteadmin)
        objJMail.Priority = 3
        objJMail.Subject = "Recommended Site from "& senderemail & " to "  & newname(i)'newemail(i) 
        objJMail.Body =  sendername & " thinks that you should check out " & recsite &   ". " & vbcrlf & sendername & " found it to be a great website " & vbcrlf & "."
    objJMail.Execute()
        objJMail.Close()
        Set objJMail = Nothing
    end if 
    next
    else
    session("sendername")=sendername
    session("senderemail")=senderemail
    
    session("newname(1)")=newname(1)
    session("newemail(1)")=newemail(1)
    session("newname(2)")=newname(2)
    session("newemail(2)")=newemail(2)
    session("newname(3)")=newname(3)
    session("newemail(3)")=newemail(3)
    session("newname(4)")=newname(4)
    session("newemail(4)")=newemail(4)
    session("newname(5)")=newname(5)
    session("newemail(5)")=newemail(5)
    session("message")=message
    
    response.redirect("referral.asp?err=6")
    end if
    
    function isemail(what)
    Set regex = New RegExp
    regex.pattern="^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$"
    isemail=regex.test(what)
    set regex=nothing 
    end function 
    
    %>
    Code (markup):
     
    Corey Bryant, Jul 30, 2005 IP