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
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
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.
hhmmmmm...... so you say that the web server will do the sending....i think i got it ..... thanks guys...
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):