Page 1 of 1

mail() function not working

Posted: Fri Feb 02, 2007 1:30 am
by dagadakrishna
feyd | Please use

Code: Select all

,

Code: Select all

and [syntax="..."] tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]


Hi can any one help me out plz

This is my code for sending email "mailform.php"

Code: Select all

<html>
<body>

<?php
if (isset($_REQUEST['email']))
//if "email" is filled out, send email
  {
  //send email
  $email = $_REQUEST['email'] ; 
  $subject = $_REQUEST['subject'] ;
  $message = $_REQUEST['message'] ;
  mail( "someone@example.com", "Subject: $subject",
  $message, "From: $email" );
  echo "Thank you for using our mail form";
  }
else
//if "email" is not filled out, display the form
  {
  echo "<form method='post' action='mailform.php'>
  Email: <input name='email' type='text' /><br />
  Subject: <input name='subject' type='text' /><br />
  Message:<br />
  <textarea name='message' rows='15' cols='40'>
  </textarea><br />
  <input type='submit' />
  </form>";
  }
?>

</body>
</html>
This is not working it ie giving error like this .....

Warning: mail() [function.mail]: SMTP server response: 553 We do not relay non-local mail, sorry. in C:\Program Files\xampp\htdocs\mailform.php on line 13
Thank you for using our mail form


can nay one tell me whats the problem

Waiting for replyyyyyyyyyyyyyyyyyyyy


feyd | Please use

Code: Select all

,

Code: Select all

and [syntax="..."] tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]

Posted: Fri Feb 02, 2007 1:53 am
by gavin1996
Is your smtp server is ok?


Php send email with SMTP
http://www.website-tutorial.net/detail. ... cle_id=186

Posted: Fri Feb 02, 2007 1:53 am
by dagadakrishna
feyd | Please use

Code: Select all

,

Code: Select all

and [syntax="..."] tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]

[color=green][b]Everah[/b] | Try to refrain from posting identifiable personal information in threads.[/color]

[quote="[url=http://forums.devnetwork.net/viewtopic.php?t=30037]Forum Rules[/url] Section 1.1"][b]7.[/b] Do not divulge anyone's personal information in the forum - including your own. This includes e-mail addresses, IP addresses, age, house address, and any other individual information.[/quote]

Like this also i tried but not working this is mycode

Code: Select all

<?php
require_once "Mail.php";

$from = "Sandra Sender <name@domain.com>";
$to = "Ramona Recipient <other@domain.com>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";

$host = "localhost";
$username = "name@domain.com";
$password = "xyz";

$headers = array ('From' => $from,
  'To' => $to,
  'Subject' => $subject);
$smtp = Mail::factory('smtp',
  array ('host' => $host,
    'auth' => true,
    'username' => $username,
    'password' => $password));

$mail = $smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {
  echo("<p>" . $mail->getMessage() . "</p>");
 } else {
  echo("<p>Message successfully sent!</p>");
 }
?>


It is giving error like

authentication failure [SMTP: SMTP server does no support authentication (code: 250, response: localhost Hello localhost; ESMTPs are: TIME SIZE 0 HELP)]


Can nay one give suugestion


feyd | Please use

Code: Select all

,

Code: Select all

and [syntax="..."] tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]

Posted: Fri Feb 02, 2007 3:39 am
by dagadakrishna
feyd | Please use

Code: Select all

,

Code: Select all

and [syntax="..."] tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]


IS STMP server ok inthe sence what it means 

i am not using any STMP just iam placing code and executing thats all ,

i tried like this

Code: Select all

<?
class smtp 
{ 
/* Public Variables */ 
var $smtp_port; 
var $time_out; 
var $host_name; 
var $log_file; 
var $relay_host; 
var $debug; 
var $auth; 
var $user; 
var $pass; 

/* Private Variables */ 
var $sock; 

/* Constractor */ 
function smtp($relay_host = "", $smtp_port = 25,$auth = false,$user,$pass) 
{ 
$this->debug = FALSE; 
$this->smtp_port = $smtp_port; 
$this->relay_host = $relay_host; 
$this->time_out = 30; //is used in fsockopen() 
# 
$this->auth = $auth;//auth 
$this->user = $user; 
$this->pass = $pass; 
# 
$this->host_name = "localhost"; //is used in HELO command 
$this->log_file = ""; 

$this->sock = FALSE; 
} 

/* Main Function */ 
function sendmail($to, $from, $subject = "", $body = "", $mailtype, $cc = "", $bcc = "", $additional_headers = "") 
{ 
$mail_from = $this->get_address($this->strip_comment($from)); 
$body = ereg_replace("(^|(\r\n))(\\.)", "\\1.\\3", $body); 

$header= "MIME-Version:1.0\r\n"; 
if($mailtype=="HTML"){ 
$header .= "Content-Type:text/html\r\n"; 
} 
$header .= "To: ".$to."\r\n"; 
if ($cc != "") { 
$header .= "Cc: ".$cc."\r\n"; 
} 
$header .= "From: $from<".$from.">\r\n"; 
$header .= "Subject: ".$subject."\r\n"; 
$header .= $additional_headers; 
$header .= "Date: ".date("r")."\r\n"; 
$header .= "X-Mailer:By Redhat (PHP/".phpversion().")\r\n"; 
list($msec, $sec) = explode(" ", microtime()); 
$header .= "Message-ID: <".date("YmdHis", $sec).".".($msec*1000000).".".$mail_from.">\r\n"; 
$TO = explode(",", $this->strip_comment($to)); 

if ($cc != "") { 
$TO = array_merge($TO, explode(",", $this->strip_comment($cc))); 
} 

if ($bcc != "") { 
$TO = array_merge($TO, explode(",", $this->strip_comment($bcc))); 
} 

$sent = TRUE; 
foreach ($TO as $rcpt_to) { 
$rcpt_to = $this->get_address($rcpt_to); 
if (!$this->smtp_sockopen($rcpt_to)) { 
$this->log_write("Error: Cannot send email to ".$rcpt_to."\n"); 
$sent = FALSE; 
continue; 
} 
if ($this->smtp_send($this->host_name, $mail_from, $rcpt_to, $header, $body)) { 
$this->log_write("E-mail has been sent to <".$rcpt_to.">\n"); 
} else { 
$this->log_write("Error: Cannot send email to <".$rcpt_to.">\n"); 
$sent = FALSE; 
} 
fclose($this->sock); 
$this->log_write("Disconnected from remote host\n"); 
} 
return $sent; 
} 

/* Private Functions */ 

function smtp_send($helo, $from, $to, $header, $body = "") 
{ 
if (!$this->smtp_putcmd("HELO", $helo)) { 
return $this->smtp_error("sending HELO command"); 
} 
#auth 
if($this->auth){ 
if (!$this->smtp_putcmd("AUTH LOGIN", base64_encode($this->user))) { 
return $this->smtp_error("sending HELO command"); 
} 

if (!$this->smtp_putcmd("", base64_encode($this->pass))) { 
return $this->smtp_error("sending HELO command"); 
} 
} 
# 
if (!$this->smtp_putcmd("MAIL", "FROM:<".$from.">")) { 
return $this->smtp_error("sending MAIL FROM command"); 
} 

if (!$this->smtp_putcmd("RCPT", "TO:<".$to.">")) { 
return $this->smtp_error("sending RCPT TO command"); 
} 

if (!$this->smtp_putcmd("DATA")) { 
return $this->smtp_error("sending DATA command"); 
} 

if (!$this->smtp_message($header, $body)) { 
return $this->smtp_error("sending message"); 
} 

if (!$this->smtp_eom()) { 
return $this->smtp_error("sending <CR><LF>.<CR><LF> [EOM]"); 
} 

if (!$this->smtp_putcmd("QUIT")) { 
return $this->smtp_error("sending QUIT command"); 
} 

return TRUE; 
} 

function smtp_sockopen($address) 
{ 
if ($this->relay_host == "") { 
return $this->smtp_sockopen_mx($address); 
} else { 
return $this->smtp_sockopen_relay(); 
} 
} 

function smtp_sockopen_relay() 
{ 
$this->log_write("Trying to ".$this->relay_host.":".$this->smtp_port."\n"); 
$this->sock = @fsockopen($this->relay_host, $this->smtp_port, $errno, $errstr, $this->time_out); 
if (!($this->sock && $this->smtp_ok())) { 
$this->log_write("Error: Cannot connenct to relay host ".$this->relay_host."\n"); 
$this->log_write("Error: ".$errstr." (".$errno.")\n"); 
return FALSE; 
} 
$this->log_write("Connected to relay host ".$this->relay_host."\n"); 
return TRUE;; 
} 

function smtp_sockopen_mx($address) 
{ 
$domain = ereg_replace("^.+@([^@]+)$", "\\1", $address); 
if (!@getmxrr($domain, $MXHOSTS)) { 
$this->log_write("Error: Cannot resolve MX \"".$domain."\"\n"); 
return FALSE; 
} 
foreach ($MXHOSTS as $host) { 
$this->log_write("Trying to ".$host.":".$this->smtp_port."\n"); 
$this->sock = @fsockopen($host, $this->smtp_port, $errno, $errstr, $this->time_out); 
if (!($this->sock && $this->smtp_ok())) { 
$this->log_write("Warning: Cannot connect to mx host ".$host."\n"); 
$this->log_write("Error: ".$errstr." (".$errno.")\n"); 
continue; 
} 
$this->log_write("Connected to mx host ".$host."\n"); 
return TRUE; 
} 
$this->log_write("Error: Cannot connect to any mx hosts (".implode(", ", $MXHOSTS).")\n"); 
return FALSE; 
} 

function smtp_message($header, $body) 
{ 
fputs($this->sock, $header."\r\n".$body); 
$this->smtp_debug("> ".str_replace("\r\n", "\n"."> ", $header."\n> ".$body."\n> ")); 

return TRUE; 
} 

function smtp_eom() 
{ 
fputs($this->sock, "\r\n.\r\n"); 
$this->smtp_debug(". [EOM]\n"); 

return $this->smtp_ok(); 
} 

function smtp_ok() 
{ 
$response = str_replace("\r\n", "", fgets($this->sock, 512)); 
$this->smtp_debug($response."\n"); 

if (!ereg("^[23]", $response)) { 
fputs($this->sock, "QUIT\r\n"); 
fgets($this->sock, 512); 
$this->log_write("Error: Remote host returned \"".$response."\"\n"); 
return FALSE; 
} 
return TRUE; 
} 

function smtp_putcmd($cmd, $arg = "") 
{ 
if ($arg != "") { 
if($cmd=="") $cmd = $arg; 
else $cmd = $cmd." ".$arg; 
} 

fputs($this->sock, $cmd."\r\n"); 
$this->smtp_debug("> ".$cmd."\n"); 

return $this->smtp_ok(); 
} 

function smtp_error($string) 
{ 
$this->log_write("Error: Error occurred while ".$string.".\n"); 
return FALSE; 
} 

function log_write($message) 
{ 
$this->smtp_debug($message); 

if ($this->log_file == "") { 
return TRUE; 
} 

$message = date("M d H:i:s ").get_current_user()."[".getmypid()."]: ".$message; 
if (!@file_exists($this->log_file) || !($fp = @fopen($this->log_file, "a"))) { 
$this->smtp_debug("Warning: Cannot open log file \"".$this->log_file."\"\n"); 
return FALSE;; 
} 
flock($fp, LOCK_EX); 
fputs($fp, $message); 
fclose($fp); 

return TRUE; 
} 

function strip_comment($address) 
{ 
$comment = "\\([^()]*\\)"; 
while (ereg($comment, $address)) { 
$address = ereg_replace($comment, "", $address); 
} 

return $address; 
} 

function get_address($address) 
{ 
$address = ereg_replace("([ \t\r\n])+", "", $address); 
$address = ereg_replace("^.*<(.+)>.*$", "\\1", $address); 

return $address; 
} 

function smtp_debug($message) 
{ 
if ($this->debug) { 
echo $message; 
} 
} 
} 

?>




########################################## 
  <?
   $sender_mail=check_str($_POST["sender_email"]);
$subject=check_str($_POST["subject"]);
$content=check_str($_POST["content"]);
  
$smtpserver = "smtp.****.com";   //Smtp server
$smtpserverport =25;   //smtp port
$smtpusermail = "test@126.com";   //Sender email
$smtpemailto = "user_email@hotmail.com";   //receiver
$smtpuser = "from_site";    //account
$smtppass = "12345678";     //password
$mailsubject =$subject."(".$sender_mail.")";
$mailbody =$content;
$mailtype = "HTML"; 

$smtp =new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);
$smtp->debug=false; 
if($smtp->sendmail($smtpemailto, $smtpusermail, $mailsubject, $mailbody, $mailtype))
{
echo "<strong>Send Successful!</strong>";
}

?>

It is giving error like

##########################################
Fatal error: Call to undefined function check_str() in C:\Program Files\xampp\htdocs\Big_email_sending.php on line 278

Whats the problem


feyd | Please use

Code: Select all

,

Code: Select all

and [syntax="..."] tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]

Posted: Tue Feb 06, 2007 12:50 am
by dagadakrishna
feyd | Please use

Code: Select all

,

Code: Select all

and [syntax="..."] tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]


hi 

this is my PHP code

Code: Select all

<?php

// Your email address
$email = "dagadakanth@yahoo.co.in";

// The subject
$subject = "Enter your subject here";

// The message
$message = "Enter your message here";

mail($email, $subject, $message, "From: $email");



?>
Iam trying to send mail but it is giving Output like


Warning: mail() [function.mail]: SMTP server response: 553 We do not relay non-local mail, sorry. in C:\Program Files\xampp\htdocs\send_email_using_the_php_mail_function.php on line 12

can any one tell the problem


feyd | Please use

Code: Select all

,

Code: Select all

and [syntax="..."] tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]

Posted: Tue Feb 06, 2007 10:35 am
by feyd
Okay, dagadakrishna, we've been kind enough to edit a bunch of your posts to add proper syntax highlighting.. now it's your turn to start doing it on your own.

Posted: Tue Feb 06, 2007 11:31 am
by Chris Corbyn
~gavin1996, would you mind getting that crap out of your signature? Well, make it smaller at least? Cheers.

Posted: Tue Feb 06, 2007 10:24 pm
by dagadakrishna
hi i was told that i have done mistake in posting code can you please tell me what mistake i have done in posting code so that i will not repeat again.

Thanks for advice

Posted: Tue Feb 06, 2007 10:31 pm
by feyd
dagadakrishna wrote:hi i was told that i have done mistake in posting code can you please tell me what mistake i have done in posting code so that i will not repeat again.

Thanks for advice
Not putting the code in any tags and/or not using the correct tags for the content.

Posted: Tue Feb 06, 2007 10:39 pm
by dagadakrishna
no feyd iam pasting the code from my file which is working fine with all tags.

Then ,not using the correct tags for the content in the sence what it means feyd

Posted: Tue Feb 06, 2007 11:04 pm
by RobertGonzalez
dagadakrishna wrote:hi i was told that i have done mistake in posting code can you please tell me what mistake i have done in posting code so that i will not repeat again.

Thanks for advice
This is the wrong way:
<?php
// this is a function
function my_function($var)
{
if ($var)
{
return strstr($var, 'sometext');
}

return false;
}
?>

And this is the right way

Code: Select all

<?php
// this is a function
function my_function($var)
{
    if ($var)
    {
        return strstr($var, 'sometext');
    }

    return false;
}
?>
Use the appropriate tags when posting code. Thanks.

Posted: Tue Feb 06, 2007 11:10 pm
by dagadakrishna
ok ok now i got ,thank you i will try my better not to repeat the same

Bye