Godaddy服务器上的联系电子邮件表单的新ASP代码

时间:2015-05-20 13:22:59

标签: asp.net forms email asp-classic contact

我有两种形式,ASP编码中的引用和联系,不再适用于更新的服务器。

两个表单都有相同的ASP文件,可以向我发送电子邮件。我以为我有一个解决方案,但没有。我认为由于我的文件是用ASP编码的,而服务器是ASP.net,这就产生了冲突。

我通过更新现有的ASP代码,寻求再次接收电子邮件的解决方案。我是平面设计师而不是编码员。

我当前服务器的规格如下:

操作系统 WINDOWS

PHP版 5.3

IIS版本 IIS 7.0

.NET版 ASP.Net 2.0 / 3.0 / 3.5

联系表单contact.asp编码第一个文件如下:

 <%
response.expires=60
response.buffer=true
on error resume next
cat=6
amiblock=true
title="Contacter Artipik"
chemin="*<a href=contact.asp class=lienchemin>" & title & "</a>"
%>
<!--#include virtual="/commun/entete.asp"-->
<!--#include virtual="/commun/head.asp"-->
<script language="JavaScript" type="text/javascript">
<!--
function contactvalid(obj)
{

    if (obj.nom.value=="") 
        {
        alert("Merci de saisir votre nom");
        obj.nom.focus();
        return false;
        }
    if (obj.prenom.value=="") 
        {
        alert("Merci de saisir votre pr�nom");
        obj.prenom.focus();
        return false;
        }
    if (obj.message.value.length<6) 
        {
        alert("Merci de saisir un message d'au moins quelques mots...");
        obj.message.focus();
        return false;
        }
    if (!mailok.test(obj.email.value) || !mailok2.test(obj.email.value))
        {
        alert("Merci de saisir une adresse email valide");
        obj.email.focus();
        return false;
        }
    if (!mailok.test(obj.ami.value) || !mailok2.test(obj.ami.value))
        {
        alert("Merci de saisir une adresse email valide de votre ami");
        obj.ami.focus();
        return false;
        }

}
// -->
</script>
<style type="text/css">
<!--
#tbcontact {width:340px;margin-top:20px;margin-bottom:40px;font-size:12px}
#coord {width:340px;border:1px solid #9a8199;text-align:left;font-size:16px;padding-top:0px;padding-bottom:0px}
#coord div{display:block;margin:10px}
#carte {width:340px;height:400px;border:2px solid #CCCCCC;margin-top:10px}
form {margin:0;padding:0} 
.saisie {width:240px;border:1px solid #9a8199;font-size:12px;color:#8b6158;font-family:Arial,Verdana,Helvetica,sans-serif}
form textarea{width:240px;border:1px solid #9a8199;font-size:12px;color:#8b6158;font-family:Arial,Verdana,Helvetica,sans-serif}
/*input[type=radio]{width:300px;border:1px solid #9a8199;font-size:12px;color:#8b6158;font-family:Arial,Verdana,Helvetica,sans-serif}*/
-->
</style>
<!--#include virtual="/commun/bandohaut.asp"-->
<!--#include virtual="/upload/coord.asp"-->
<div style="margin:20px">
<img src="/images/pucelosange.gif" width="18" height="14" border="0"><span class="titrerub">CONTACTEZ-NOUS</span><br>
<img src="/images/separebicolore2.gif" width="688" height="6" border="0" vspace=3><br>
<div style="width:688px;text-align:right">* champs obligatoires&nbsp;</div>
<% If affich_map=1 then %>
<div style="position:absolute;margin-top:20px;margin-left:348px">
<div id="coord">
<% If coord_adresse<>vbnullstring then %><div><span class=titrerose><img src="/images/pucerose.gif" width="8" height="8" border="0">&nbsp;Show-room</span>&nbsp;<span style="font-size:11px"><i>(sur rendez-vous)</i></span><br><%= coord_adresse %></div><% End If %>
<% If coord_metro<>vbnullstring then %><div><span class=titrerose><img src="/images/pucerose.gif" width="8" height="8" border="0">&nbsp;M�tro / RER</span><br><%= coord_metro %></div><% End If %>
<% If coord_bus<>vbnullstring then %><div><span class=titrerose><img src="/images/pucerose.gif" width="8" height="8" border="0">&nbsp;Bus</span><br><%= coord_bus %></div><% End If %>
<% If feuvert then %>
<span class=titrerose><img src="/images/pucerose.gif" width="8" height="8" border="0">&nbsp;T�l�phone</span><br><%= coord_tel %><br>
<span style="font-size:10px">(prix d'un appel local en France)</span><br><br>
<span class=titrerose><img src="/images/pucerose.gif" width="8" height="8" border="0">&nbsp;Mobile</span><br><%= coord_mobile %>
<% End If %>
</div>
<div id="carte">
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false&amp;key=ABQIAAAAgKoL5za6CVbLQHrHSdRGPRQniikd0iliF4ChcQSNayNSO4Cr3hQBQSq4du-gpuF6FeDeS2ymuDlJAA" type="text/javascript"></script>
<script language="JavaScript" type="text/javascript">
function initialize()
{
  if (GBrowserIsCompatible())
  {
    var gadresse=new GLatLng(48.6774691,2.3551995)
    var map = new GMap2(document.getElementById("carte"),{size: new GSize(340,400)});
    map.setCenter(gadresse, 15);
    map.addOverlay(new GMarker(gadresse));
    map.addControl(new GSmallMapControl());
  }
}
initialize();
</script>
</div>
</div>
<% End If %>
<form name="contact" action="contactprocess.asp" method="post" target=process onSubmit="return contactvalid(this)">
<table border=0 cellpadding=0 cellspacing=0 id="tbcontact"<% If affich_map<>1 then response.write(" align=center") %>>
<tr>
<tr height=25>
<td width=80 align=right>Civilit�</td>
<td width=260 align=center>
<input type="radio" name="civil" value="Mr" checked>Mr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" name="civil" value="Mme">Mme&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" name="civil" value="Mlle">Mlle
</td></tr>
<tr height=30>
<td align=right><strong>*</strong> Nom</td><td align=center><input type="text" name="nom" class="saisie"></td>
</tr>
<tr height=30>
<td align=right><strong>*</strong> Pr�nom</td><td align=center><input type="text" name="prenom" class="saisie"></td></tr>
<tr height=30>
<td align=right>Adresse</td><td align=center><input type="text" name="adresse" class="saisie"></td></tr>
<tr height=30>
<td align=right>Code Postal</td><td align=center><input type="text" name="cp" class="saisie"></td></tr>
<tr height=30>
<td align=right>Ville</td><td align=center><input type="text" name="ville" class="saisie"></td></tr>
<tr height=30>
<td align=right>Pays</td><td align=center><input type="text" name="pays" class="saisie"></td></tr>
<tr height=30>
<td align=right><strong>*</strong> Email</td><td align=center><input type="text" name="email" value="<%= request.cookies("email") %>" class="saisie"></td></tr>
<tr height=30>
<td align=right>T�l�phone</td><td align=center><input type="text" name="tel" class="saisie"></td></tr>
<tr height=40>
<td align=right>Vous �tes</td>
<td align=center>
<select name="ki" class="saisie">
<option>Visiteur
<option>Client
<option>Entreprise
<option>Artiste
<option>Agent
<option>Journaliste
<option>Partenaire
<option value="">Autre
</select>
</td></tr>
<tr valign=top>
<td align=right>Message</td>
<td align=center><textarea name="message" wrap="virtual" style="width:240px;height:225px;overflow-y:auto" onKeyUp="if(this.value.length>600){alert('Pas plus de 600 caract�res, merci !');this.value=this.value.substring(0,600)}"></textarea></td></tr>
<tr>
<td align=right></td>
<td align=center><input type="image" src="/images/btn_envoyer.gif" alt="Envoi du message" title="Envoyer votre message" width="103" height="26" vspace=8></td></tr>
</table>
</form>
</div>
<!--#include virtual="/commun/bandobas.asp"-->

然后是文件contactprocess.asp中编码的第二部分:

<%
Response.Expires = 0
Response.Expiresabsolute = Now() - 1
Response.AddHeader "pragma","no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "no-cache"
on error resume next
%>
<!--#include virtual="/upload/coord.asp"-->
<%
envoyeur="visiteur@artipik.com"
receveur=coord_email
askeur=replace(request.form("email"),"@"," (arob) ")
askeur=replace(askeur,"."," (point) ")
'copie="stefanium@hotmail.com"
nom=request.form("nom")
prenom=request.form("prenom")
message=request.form("message")
adresse=request.form("adresse")
cp=request.form("cp")
ville=request.form("ville")
pays=request.form("pays")
tel=request.form("tel")
ki=request.form("ki")

if envoyeur=vbnullstring or message=vbnullstring or nom=vbnullstring or prenom=vbnullstring then response.end

sujet="ARTIPIK.com | Contact : " & ucase(nom) & " " & prenom
'on compile le message...
entete="Exp�diteur : " & request.form("civil") & " " & ucase(nom) & " " & prenom & vbcrlf
entete=entete & "Email de r�ponse : " & askeur & vbcrlf
if adresse<>vbnullstring then entete=entete & "Adresse : " & adresse & vbcrlf
if cp<>vbnullstring then entete=entete & "Code postal : " & cp & vbcrlf
if ville<>vbnullstring then entete=entete & "Ville : " & ville & vbcrlf
if pays<>vbnullstring then entete=entete & "Pays : " & pays & vbcrlf
if tel<>vbnullstring then entete=entete & "T�l. : " & tel & vbcrlf
if ki<>vbnullstring then entete=entete & "Cat�gorie : " & ki & vbcrlf
entete=entete & vbcrlf & "-----------------------------------------------------------------" & vbcrlf & vbcrlf & "MESSAGE :" & vbcrlf & vbcrlf
message=left(message,600)
message=entete & message
%>
<!--#include virtual="/commun/envoimail.asp"-->
<html>
<head>
<meta http-equiv="Expires" CONTENT="0">
<meta http-equiv="Cache-Control" CONTENT="no-cache">
<meta http-equiv="Pragma" CONTENT="no-cache">
</head>
<body>
<SCRIPT LANGUAGE="JavaScript">
<!--
<% If err.number=0 then %>
parent.contact.message.value='';alert("Votre message a bien �t� envoy�.\nVous recevrez une r�ponse sous peu...\t");
<% Else  %>
alert("Probl�me de serveur :\n<%= replace(err.description,"'","\'") %>\n\nMerci de r�-essayer plus tard.\t");
<% End If %>
location.href="about:blank";
// -->
</SCRIPT>
</body>
</html>

最后,envoimail.asp文件中服务器上当前代码的最后一部分如下:

<%
'-----version CDONTS-----
Set Mail = Server.CreateObject("CDONTS.NewMail")
Mail.BodyFormat = 1        '0:html/1:plain text
Mail.MailFormat = 1     '0:MIME/1:plain text
Mail.From = envoyeur
Mail.To = receveur
if copie<>vbnullstring then Mail.Bcc = copie
if sujet=vbnullstring then sujet="Formulaire de contact Artipik.com"
Mail.Subject = sujet
Mail.Body = message
Mail.Send
set Mail=Nothing
'response.cookies("email")=envoyeur
%>

1 个答案:

答案 0 :(得分:2)

CDONTS非常陈旧,在Windows 2000中已被弃用,并完全从Windows 2003中删除.CDO是在传统ASP中发送电子邮件的标准组件。

您的示例的等效代码将是这样的。

<%    
Set Mail = Server.CreateObject("CDO.Message")
Mail.From = envoyeur
Mail.To = receveur
if copie<>vbnullstring then Mail.Bcc = copie
if sujet=vbnullstring then sujet="Formulaire de contact Artipik.com"
Mail.Subject = sujet
Mail.TextBody = message
Mail.Send
set Mail=Nothing
%>

Mail.Textbody指定邮件采用纯文本格式。对于HTML电子邮件,您可以使用Mail.HtmlBody

CDO允许您使用远程SMTP服务器,而CDONTS则没有。根据SMTP服务器的设置,您可能需要添加服务器配置详细信息。我推荐这个教程。

http://www.powerasp.net/content/new/sending_email_cdosys.asp