10. september 2003 - 14:04
Der er
21 kommentarer og
1 løsning
smtp.php virker stadig ikke
Dette er fortsættelse af "Permission denied in smtp.php"
http://www.eksperten.dk/spm/385298Jeg resumér lige sagen hurtigt.
Først har det bøvle med rettighedsmæssigt på serveren pga. serveren er NT baseret (win 2000). Så har udbyderen selv givet adgang til alle 777. Jeg kunne nemlig ikke selv vha. FTP program, og det er pga. serveren kan ikke forstå "sproget".
Nu virker log-filen, MEN da jeg læst min log-fil stod der følgende:
-------------------------------------------
Sent 2003-09-10 08:47:32
-------------------------------------------
220 MERCUR SMTP-Server (v4.01.08 MTE4My0xMDI0MS0xNzQyMA==) for Windows NT ready at Wed, 10 Sep 2003 08:47:32 -0200
HELO xyz 250 acwebs.ateam.gl Hello 127.0.0.1
MAIL FROM:kalaaleq@kalaaleq.com 250 <kalaaleq@kalaaleq.com>, sender ok
RCPT TO:jom@ral.gl 550 This address is not allowed
DATA 501 invalid Command in this state
Subject: Johannes Müller recommends this site
To:
MIME-Version: 1.0
Content-type: text/plain; charset=iso-8859-1
From: kalaaleq@kalaaleq.com <kalaaleq@kalaaleq.com>
To: jom@ral.gl <jom@ral.gl>
.
Det ser ud som om at der er problemer med script inde i "smtp" eller "emailfriend" filerne.
Hvad kan det være?
10. september 2003 - 14:54
#2
Ja måske.
Men jeg kopér lige de 2 filers script, fordi jeg mener at de 2 filer som skulle ellers hænger sammen, kunne ikke 100 % snakke sammen pga. måske en lille script fejl.
Dette er fra emailfriend.php:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
<TITLE>Email Din Ven</TITLE>
<LINK REL=STYLESHEET TYPE="text/css" HREF="style.css">
</HEAD>
<body marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" rightmargin="0">
<?php include "vsadmin/db_conn_open.php" ?>
<?php include "vsadmin/includes.php" ?>
<?php include "vsadmin/inc/languagefile.php" ?>
<?php include "vsadmin/inc/incfunctions.php" ?>
<?php include "smtp.php" ?>
<table border='0' cellspacing='4' cellpadding='3' width='100%'>
<?php
if(@$_POST["posted"]=="1"){
$sSQL="SELECT adminEmail,adminStoreURL FROM admin WHERE adminID=1";
$result = mysql_query($sSQL) or print(mysql_error());
$rs = mysql_fetch_array($result);
$emailAddr = $rs["adminEmail"];
$adminStoreURL = $rs["adminStoreURL"];
mysql_free_result($result);
$seBody = "Your friend " . @$_POST["yourname"] . " (" . @$_POST["youremail"] . ") has recommended this site to you";
if(trim(@$_POST["yourcomments"]) != ""){
$seBody .= ", and sends you the following message:\n";
$seBody .= trim(@$_POST["yourcomments"]) . "\n";
}else
$seBody .= ".\n";
$seBody .= "\n" . $adminStoreURL . "\n";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$headers .= "From: " . $emailAddr . " <" . $emailAddr . ">\r\n";
$headers .= "To: " . @$_POST["friendsemail"] . " <" . @$_POST["friendsemail"] . ">\r\n";
$smtp = new smtp_client();
$smtp->email($from_mail, $til_navn, $header, $_POST["yourname"] . " recommends this site", $body);
$smtp->send();
?>
<tr bgcolor="#66CC33">
<td colspan="2" align="center" width="100%"> </td>
</tr>
<tr>
<td colspan="2" align="center" width="100%"><p> </p>
<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Mange tak, din anbefaling
er blevet sendt.</font></p>
<p> </p>
</td>
</tr>
<tr>
<td colspan="2" align="center" width="100%"><input type="button" name="close" value="Luk vinduet" onClick="java script:self.close()">
<p> </p>
</td>
</tr>
<tr bgcolor="#66CC33">
<td colspan="2" align="center" width="100%"> </td>
</tr>
<?php
}else{
?>
<script Language="JavaScript">
<!--
function formvalidator(theForm)
{
if (theForm.yourname.value == "")
{
alert("Please enter a value in the field \"Your Name\".");
theForm.yourname.focus();
return (false);
}
if (theForm.youremail.value == "")
{
alert("Please enter a value in the field \"Your Email\".");
theForm.youremail.focus();
return (false);
}
if (theForm.friendsemail.value == "")
{
alert("Please enter a value in the field \"Your Friends Email\".");
theForm.friendsemail.focus();
return (false);
}
return (true);
}
//-->
</script>
<form method="POST" action="emailfriend.php" onSubmit="return formvalidator(this)">
<input type="hidden" name="posted" value="1">
<tr bgcolor="#66CC33">
<td colspan="2" align="center" width="100%"> </td>
</tr>
<tr>
<td colspan="2" align="center" width="100%">
<table border='0' cellspacing='1' cellpadding='1' width='350'>
<tr>
<td width="100%"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Fortæl
dine venner om dette site, så de også kan få glæde af vores produkter.
</strong><br>
Du skal bare udfylde nedenstående felter og så klik på "send".</font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="40%" align="right"><font color="#FF0000" size="2" face="Verdana, Arial, Helvetica, sans-serif">*</font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Dit
Navn:</font></td>
<td><input type="text" name="yourname" size="30"></td>
</tr>
<tr>
<td width="40%" align="right"><font color="#FF0000" size="2" face="Verdana, Arial, Helvetica, sans-serif">*</font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Din
Email:</font></td>
<td><input type="text" name="youremail" size="30"></td>
</tr>
<tr>
<td width="40%" align="right"><font color="#FF0000" size="2" face="Verdana, Arial, Helvetica, sans-serif">*</font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Din
vens Email:</font></td>
<td><input type="text" name="friendsemail" size="30"></td>
</tr>
<tr>
<td colspan="2" align="center" width="100%">
<table border='0' cellspacing='1' cellpadding='1' width='250'>
<tr>
<td width="100%"> <br>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif">Din kommentar:</font><br>
<textarea name="yourcomments" cols="30" rows="5"></textarea>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" align="center" width="100%"><input type="submit" name="Send" value="Send">
<input type="button" name="close" value="Luk Vinduet" onClick="java script:self.close()">
</td>
</tr>
<tr bgcolor="#66CC33">
<td colspan="2" align="center" width="100%"> </td>
</tr>
</form>
<?php
} ?>
</table>
</BODY>
</HTML>
-----------
Dette er fra smtp.php:
<?php
// smtp_client class -------------------------------------------------------
// use:
// $smtp=smtp_client();
// $smtp->email($from, $to[0], $to_name[0], $header[0], $subject[0], $body[0]);
// $smtp->email($from, $to[1], $to_name[1], $header[1], $subject[1], $body[1]);
// $smtp->send();
class smtp_client {
var $connection;
var $server;
var $elog_fp;
var $log_file='./smtp_client.log';
var $do_log=true;
// default constructor
function smtp_client($server='') {
if (!$server) $this->server="localhost";
else $this->server=$server;
$this->connection = fsockopen($this->server, 25);
if ($this->connection <= 0) return 0;
$this->elog(fgets($this->connection, 1024));
$this->elog("HELO xyz\r\n", 1);
fputs($this->connection,"HELO xyz\r\n");
$this->elog(fgets($this->connection, 1024));
}
function email($from_mail, $to_mail, $to_name, $header, $subject, $body) {
if ($this->connection <= 0) return 0;
$this->elog("MAIL FROM:$from_mail", 1);
fputs($this->connection,"MAIL FROM:$from_mail\r\n");
$this->elog(fgets($this->connection, 1024));
$this->elog("RCPT TO:$to_mail", 1);
fputs($this->connection, "RCPT TO:$to_mail\r\n");
$this->elog(fgets($this->connection, 1024));
$this->elog("DATA", 1);
fputs($this->connection, "DATA\r\n");
$this->elog(fgets($this->connection, 1024));
$this->elog("Subject: $subject", 1);
$this->elog("To: $to_name", 1);
fputs($this->connection,"Subject: $subject\r\n");
fputs($this->connection,"To: $to_name\r\n");
if ($header) {
$this->elog($header, 1);
fputs($this->connection, "$header\r\n");
}
$this->elog("", 1);
$this->elog($body, 1);
$this->elog(".", 1);
fputs($this->connection,"\r\n");
fputs($this->connection,"$body \r\n");
fputs($this->connection,".\r\n");
$this->elog(fgets($this->connection, 1024));
return 1;
}
function send() {
if ($this->connection) {
fputs($this->connection, "QUIT\r\n");
fclose($this->connection);
$this->connection=0;
}
}
function close() { $this->send(); }
function elog($text, $mode=0) {
if (!$this->do_log) return;
// open file
if (!$this->elog_fp) {
chmod ($this->log_file, 0755);
if (!($this->elog_fp=fopen($this->log_file, 'w+'))) return;
fwrite($this->elog_fp, "\n-------------------------------------------\n");
fwrite($this->elog_fp, " Sent " . date("Y-m-d H:i:s") . "\n");
fwrite($this->elog_fp, "-------------------------------------------\n");
}
// write to log
if (!$mode) fwrite($this->elog_fp, " $text\n");
else fwrite($this->elog_fp, "$text\n");
}
}
?>
11. september 2003 - 14:42
#10
Det ser ud til at det går bedre, men den sender stadig ikke mailen.
Log-filen siger jo...
-------------------------------------------
Sent 2003-09-11 10:44:09
-------------------------------------------
220 MERCUR SMTP-Server (v4.01.08 MTE4My0xMDI0MS0xNzQyMA==) for Windows NT ready at Thu, 11 Sep 2003 10:44:09 -0200
HELO xyz
250 acwebs.ateam.gl Hello 127.0.0.1
MAIL FROM:
501 Syntax Error
RCPT TO:jom@ral.gl
501 invalid Command in this state
DATA
501 invalid Command in this state
Subject: Johannes Müller recommends this site
To:
MIME-Version: 1.0
Content-type: text/plain; charset=iso-8859-1
From: kalaaleq@kalaaleq.com <kalaaleq@kalaaleq.com>
To: jom@ral.gl <jom@ral.gl>
Your friend Johannes Müller (ujopajuk@hotmail.com) has recommended this site to you, and sends you the following message:
test2
http://www.kalaaleq.gl/shop.