PESQUISA DE DOMINIOS



Abaixo vc tem uma classe completa de sendmail em php
no windows como os componente são diferentes do linux vc deve usar
esta página para disparar emails

note no final da página os parâmetrod que vc
deve mudar para configura-la e tb como capturar os campos do formulário
que vc criar (em vermelho)

usamos POST porém pode usar tb GET para capturar os campos neste caso txtmensagem

$mail->Body = $_POST['txtMensagem'];

<?

class phpmailer {

var $Priority = 3;
var $CharSet = "iso-8859-1";
var $ContentType = "text/plain";
var $Encoding = "8bit";
var $From = "root@localhost";
var $FromName = "root";
var $Subject = "";
var $Body = "";
var $WordWrap = true;
var $MailerDebug = false;
var $UseMSMailHeaders = true;
var $IPAddress = "unknown";
var $timezone = "+0000";

// SMTP

var $Host = "localhost";
var $Port = 25;
var $Helo = "";
var $Timeout = 10; // Socket timeout in sec.

/////////////////////////////////////////////////
// PRIVATE VARIABLES
/////////////////////////////////////////////////
var $version = "";
var $to = array();
var $cc = array();
var $bcc = array();
var $ReplyTo = array();
var $attachment = array();
var $CustomHeader = array();
var $boundary = false;
var $ErrorAlerts = Array();
var $blUseAuthLogin = false;
var $AuthUser = "";
var $AuthPass = "";

function UseAuthLogin($user,$pass) {
$this->blUseAuthLogin = true;
$this->AuthUser = $user;
$this->AuthPass = $pass;
}

/////////////////////////////////////////////////
// VARIABLE METHODS
/////////////////////////////////////////////////
function IsHTML($bool) {
if($bool == true)
$this->ContentType = "text/html";
else
$this->ContentType = "text/plain";
}

/////////////////////////////////////////////////
// LOAD VARIABLES
/////////////////////////////////////////////////

function Start() {
global $appname,$appversion;
$this->Version = $appname." ".$appversion;
$this->Helo = ereg_replace("[^A-Za-z0-9]","",$appname);
}


/////////////////////////////////////////////////
// RECIPIENT METHODS
/////////////////////////////////////////////////


function AddAddress($address, $name = "") {
$cur = count($this->to);
$this->to[$cur][0] = trim($address);
$this->to[$cur][1] = $name;
}

function AddCC($address, $name = "") {
$cur = count($this->cc);
$this->cc[$cur][0] = trim($address);
$this->cc[$cur][1] = $name;
}

function AddBCC($address, $name = "") {
$cur = count($this->bcc);
$this->bcc[$cur][0] = trim($address);
$this->bcc[$cur][1] = $name;
}

function AddReplyTo($address, $name = "") {
$cur = count($this->ReplyTo);
$this->ReplyTo[$cur][0] = trim($address);
$this->ReplyTo[$cur][1] = $name;
}


/////////////////////////////////////////////////
// MAIL SENDING METHODS
/////////////////////////////////////////////////

/**
* Send method creates message and assigns Mailer. Returns bool.
* @public
* @returns bool
*/
function Send() {
global $use_sendmail;
if(count($this->to)+count($this->cc)+count($this->bcc) == 0) {
$this->error_handler("You must provide at least one recipient email address");
return false;
}
$header = $this->create_header();
if(($body = $this->create_body()) === false)
return false;
if($use_sendmail) {
if($this->sendmail_send($header, $body) === false)
return false;
} else {
if($this->smtp_send($header, $body) === false)
return false;
}
return sprintf("%s%s", $header, $body);
}

function sendmail_send($header, $body) {
global $path_to_sendmail;
if(strtoupper(substr(PHP_OS,0,3)) == "WIN") {
$this->error_handler("Sendmail is not supported under Win32 systems");
return false;
}
$sendmail = sprintf("%s -t", $path_to_sendmail);
if(!@$mail = popen($sendmail, "w")) {
$this->error_handler(sprintf("Could not execute %s", $path_to_sendmail));
return false;
}
fputs($mail, $header);
fputs($mail, $body);
pclose($mail);
return true;
}

function smtp_send($header, $body) {
global $enable_debug;
$smtp = new SMTP;
$smtp->do_debug = $enable_debug;
$hosts = explode(";", $this->Host);
$index = 0;
$connection = false;

while($index < count($hosts) && $connection == false) {
if($smtp->Connect($hosts[$index], $this->Port, $this->Timeout))
$connection = true;
$index++;
}

if(!$connection) {
$this->error_handler("SMTP Error: could not connect to SMTP host server(s)");
return false;
}

if($this->blUseAuthLogin) {
if(!$smtp->AuthHello($this->Helo,$this->AuthUser,$this->AuthPass)) {
$this->error_handler("SMTP Error: Invalid username/password");
return false;
}
} else
$smtp->Hello($this->Helo);

$smtp->MailFrom(sprintf("<%s>", $this->From));
for($i = 0; $i < count($this->to); $i++)
if(!$smtp->Recipient(sprintf("<%s>", $this->to[$i][0]))) {
$this->error_handler("SMTP Error: Recipient not accepted. Verify your relay rules");
return false;
}
for($i = 0; $i < count($this->cc); $i++)
if(!$smtp->Recipient(sprintf("<%s>", $this->cc[$i][0]))) {
$this->error_handler("SMTP Error: Recipient not accepted. Verify your relay rules");
return false;
}

for($i = 0; $i < count($this->bcc); $i++)
if(!$smtp->Recipient(sprintf("<%s>", $this->bcc[$i][0]))) {
$this->error_handler("SMTP Error: Recipient not accepted. Verify your relay rules");
return false;
}

if(!$smtp->Data(sprintf("%s%s", $header, $body))) {
$this->error_handler("SMTP Error: Data not accepted");
return false;
}

$smtp->Quit();
}

/////////////////////////////////////////////////
// MESSAGE CREATION METHODS
/////////////////////////////////////////////////

function addr_append($type, $addr) {
$addr_str = "";
if(trim($addr[0][1]) != "")
$addr_str .= sprintf("%s: \"%s\" <%s>",$type, $addr[0][1], $addr[0][0]);
else
$addr_str .= sprintf("%s: %s",$type,$addr[0][0]);

if(count($addr) > 1) {
for($i = 1; $i < count($addr); $i++) {
if(trim($addr[$i][1]) != "")
$addr_str .= sprintf(", \r\n\t\"%s\" <%s>", $addr[$i][1], $addr[$i][0]);
else
$addr_str .= sprintf(", \r\n\t\"%s\"", $addr[$i][0]);
}
$addr_str .= "\r\n";
} else
$addr_str .= "\r\n";

return($addr_str);
}

function wordwrap($message, $length) {
$line = explode("\r\n", $message);
$message = "";
for ($i=0 ;$i < count($line); $i++)
{
$line_part = explode(" ", trim($line[$i]));
$buf = "";
for ($e = 0; $e<count($line_part); $e++)
{
$buf_o = $buf;
if ($e == 0)
$buf .= $line_part[$e];
else
$buf .= " " . $line_part[$e];
if (strlen($buf) > $length and $buf_o != "")
{
$message .= $buf_o . "\r\n";
$buf = $line_part[$e];
}
}
$message .= $buf . "\r\n";
}

return ($message);
}

function create_header() {
global $use_sendmail;
$this->Start();
$header = array();
$header[] = sprintf("Received: from client %s for UebiMiau2.7 (webmail client); %s %s\r\n", $this->IPAddress, date("D, j M Y G:i:s"), $this->timezone);
$header[] = sprintf("Date: %s %s\r\n", date("D, j M Y G:i:s"), $this->timezone);
$header[] = sprintf("From: \"%s\" <%s>\r\n", $this->FromName, trim($this->From));
if(count($this->to) > 0)
$header[] = $this->addr_append("To", $this->to);
if(count($this->cc) > 0)
$header[] = $this->addr_append("Cc", $this->cc);
if(count($this->bcc) > 0 && $use_sendmail)
$header[] = $this->addr_append("Bcc", $this->bcc);

if(count($this->ReplyTo) > 0)
$header[] = $this->addr_append("Reply-to", $this->ReplyTo);
$header[] = sprintf("Subject: %s\r\n", trim($this->Subject));
$header[] = sprintf("X-Priority: %d\r\n", $this->Priority);
$header[] = sprintf("X-Mailer: %s\r\n", $this->Version);
$header[] = sprintf("X-Original-IP: %s\r\n", $this->IPAddress);
$header[] = sprintf("Content-Transfer-Encoding: %s\r\n", $this->Encoding);
$header[] = sprintf("Return-Path: %s\r\n", trim($this->From));

// Add custom headers
for($index = 0; $index < count($this->CustomHeader); $index++)
$header[] = sprintf("%s\r\n", $this->CustomHeader[$index]);

if($this->UseMSMailHeaders)
$header[] = $this->UseMSMailHeaders();

// Add all attachments
if(count($this->attachment) > 0)
{
$header[] = sprintf("Content-Type: multipart/mixed; charset=\"%s\";\r\n", $this->CharSet);
$header[] = sprintf("\tboundary=\"--=%s\"\r\n", $this->boundary);
}
else
$header[] = sprintf("Content-Type: %s; charset=\"%s\";\r\n", $this->ContentType, $this->CharSet);

$header[] = "MIME-Version: 1.0\r\n";

return(join("", $header)."\r\n");
}

function create_body() {
if($this->WordWrap)
$this->Body = $this->wordwrap($this->Body, $this->WordWrap);
if(count($this->attachment) > 0) {
if(!$body = $this->attach_all())
return false;
}
else
$body = $this->Body;

return(trim($body));
}


/////////////////////////////////////////////////
// ATTACHMENT METHODS
/////////////////////////////////////////////////

function AddAttachment($path, $name = "", $type= "application/octet-stream") {
if(!@is_file($path)) {
$this->error_handler(sprintf("Could not find %s file on filesystem", $path));
return false;
}
$filename = basename($path);
if($name == "")
$name = $filename;

$this->boundary = "_b" . md5(uniqid(time()));

$cur = count($this->attachment);
$this->attachment[$cur][0] = $path;
$this->attachment[$cur][1] = $filename;
$this->attachment[$cur][2] = $name;
$this->attachment[$cur][3] = $type;

return true;
}


function attach_all() {

$mime = sprintf("----=%s\r\n", $this->boundary);
$mime .= sprintf("Content-Type: %s\r\n", $this->ContentType);
$mime .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
$mime .= sprintf("%s\r\n", $this->Body);

for($i = 0; $i < count($this->attachment); $i++) {
$path = $this->attachment[$i][0];
$filename = $this->attachment[$i][1];
$name = $this->attachment[$i][2];
$type = $this->attachment[$i][3];
$mime .= sprintf("----=%s\r\n", $this->boundary);
$mime .= sprintf("Content-Type: %s; name=\"%s\"\r\n",$type,$name);
$mime .= "Content-Transfer-Encoding: base64\r\n";
$mime .= sprintf("Content-Disposition: attachment; filename=\"%s\"\r\n\r\n", $name);
if(!$mime .= sprintf("%s\r\n\r\n", $this->encode_file($path)))
return false;
}
$mime .= sprintf("\r\n----=%s--\r\n", $this->boundary);

return $mime;
}

function encode_file ($path) {
if(!@$fd = fopen($path, "rb"))
{
$this->error_handler("File Error: Could not open file $path");
return false;
}
$file = fread($fd, filesize($path));

// chunk_split is found in PHP >= 3.0.6
$encoded = chunk_split(base64_encode($file));
fclose($fd);

return($encoded);
}

/////////////////////////////////////////////////
// MESSAGE RESET METHODS
/////////////////////////////////////////////////

function ClearAddresses() {
$this->to = array();
}

function ClearCCs() {
$this->cc = array();
}

function ClearBCCs() {
$this->bcc = array();
}

function ClearReplyTos() {
$this->ReplyTo = array();
}

function ClearAllRecipients() {
$this->to = array();
$this->cc = array();
$this->bcc = array();
}

function ClearAttachments() {
$this->attachment = array();
}

function ClearCustomHeaders() {
$this->CustomHeader = array();
}

/////////////////////////////////////////////////
// MISCELLANEOUS METHODS
/////////////////////////////////////////////////

function error_handler($msg) {
$this->ErrorAlerts[] = $msg;
if($this->MailerDebug == true) {
print("<h3>Mailer Error</h3>");
print("Description:<br>");
printf("<font color=\"FF0000\">%s</font>", $msg);
}
}

function AddCustomHeader($custom_header) {
$this->CustomHeader[] = $custom_header;
}

function UseMSMailHeaders() {
$MSHeader = "";
if($this->Priority == 1)
$MSPriority = "High";
elseif($this->Priority == 5)
$MSPriority = "Low";
else
$MSPriority = "Medium";

$MSHeader .= sprintf("X-MSMail-Priority: %s\r\n", $MSPriority);
$MSHeader .= sprintf("Importance: %s\r\n", $MSPriority);

return($MSHeader);
}


}
// End of class

class SMTP {
var $SMTP_PORT = 25; # the default SMTP PORT
var $CRLF = "\r\n"; # CRLF pair

var $smtp_conn; # the socket to the server
var $error; # error if any on the last call
var $helo_rply; # the reply the server sent to us for HELO

var $do_debug; # the level of debug to perform

/*
* SMTP()
*
* Initialize the class so that the data is in a known state.
*/
function SMTP() {
$this->smtp_conn = 0;
$this->error = null;
$this->helo_rply = null;
$this->do_debug = 0;
}

/************************************************************
* CONNECTION FUNCTIONS *
***********************************************************/


/*
* Connected()
*
* Returns true if connected to a server otherwise false
*/
function Connected() {
if(!empty($this->smtp_conn)) {
$sock_status = socket_get_status($this->smtp_conn);
if($sock_status["eof"]) {
# hmm this is an odd situation... the socket is
# valid but we aren't connected anymore
$this->Close();
return false;
}
return true; # everything looks good
}
return false;
}


/*
* Connect($host, $port=0, $tval=30)
*
* Connect to the server specified on the port specified.
* If the port is not specified use the default SMTP_PORT.
* If tval is specified then a connection will try and be
* established with the server for that number of seconds.
* If tval is not specified the default is 30 seconds to
* try on the connection.
*
* SMTP CODE SUCCESS: 220
* SMTP CODE FAILURE: 421
*/
function Connect($host,$port=0,$tval=30) {
# set the error val to null so there is no confusion
$this->error = null;

# make sure we are __not__ connected
if($this->connected()) {
# ok we are connected! what should we do?
# for now we will just give an error saying we
# are already connected
$this->error =
array("error" => "Already connected to a server");
return false;
}

if(empty($port)) {
$port = $this->SMTP_PORT;
}

#connect to the smtp server
$this->smtp_conn = fsockopen($host, # the host of the server
$port, # the port to use
$errno, # error number if any
$errstr, # error message if any
$tval); # give up after ? secs
# verify we connected properly
if(empty($this->smtp_conn)) {
$this->error = array("error" => "Failed to connect to server",
"errno" => $errno,
"errstr" => $errstr);
return false;
}

# sometimes the SMTP server takes a little longer to respond
# so we will give it a longer timeout for the first read
//if(function_exists("socket_set_timeout"))
// socket_set_timeout($this->smtp_conn, 1, 0);

# get any announcement stuff
$announce = $this->get_lines();

# set the timeout of any socket functions at 1/10 of a second
//if(function_exists("socket_set_timeout"))
// socket_set_timeout($this->smtp_conn, 0, 100000);

return true;
}


/*
* Close()
*
* Closes the socket and cleans up the state of the class.
* It is not considered good to use this function without
* first trying to use QUIT.
*/
function Close() {
$this->error = null; # so there is no confusion
$this->helo_rply = null;
if(!empty($this->smtp_conn)) {
# close the connection and cleanup
fclose($this->smtp_conn);
$this->smtp_conn = 0;
}
}


/**************************************************************
* SMTP COMMANDS *
*************************************************************/

/*
* Data($msg_data)
*
* Issues a data command and sends the msg_data to the server
* finializing the mail transaction. $msg_data is the message
* that is to be send with the headers. Each header needs to be
* on a single line followed by a <CRLF> with the message headers
* and the message body being seperated by and additional <CRLF>.
*
* Implements rfc 821: DATA <CRLF>
*
* SMTP CODE INTERMEDIATE: 354
* [data]
* <CRLF>.<CRLF>
* SMTP CODE SUCCESS: 250
* SMTP CODE FAILURE: 552,554,451,452
* SMTP CODE FAILURE: 451,554
* SMTP CODE ERROR : 500,501,503,421
*/
function Data($msg_data) {
$this->error = null; # so no confusion is caused

if(!$this->connected()) {
$this->error = array(
"error" => "Called Data() without being connected");
return false;
}
$this->send_line("DATA");

//fputs($this->smtp_conn,"DATA" . $this->CRLF);

$rply = $this->get_lines();
$code = substr($rply,0,3);


if($code != 354) {
$this->error =
array("error" => "DATA command not accepted from server",
"smtp_code" => $code,
"smtp_msg" => substr($rply,4));
return false;
}

# the server is ready to accept data!
# according to rfc 821 we should not send more than 1000
# including the CRLF
# characters on a single line so we will break the data up
# into lines by \r and/or \n then if needed we will break
# each of those into smaller lines to fit within the limit.
# in addition we will be looking for lines that start with
# a period '.' and append and additional period '.' to that
# line. NOTE: this does not count towards are limit.

# normalize the line breaks so we know the explode works
$msg_data = str_replace("\r\n","\n",$msg_data);
$msg_data = str_replace("\r","\n",$msg_data);
$lines = explode("\n",$msg_data);

# we need to find a good way to determine is headers are
# in the msg_data or if it is a straight msg body
# currently I'm assuming rfc 822 definitions of msg headers
# and if the first field of the first line (':' sperated)
# does not contain a space then it _should_ be a header
# and we can process all lines before a blank "" line as
# headers.
$field = substr($lines[0],0,strpos($lines[0],":"));
$in_headers = false;
if(!empty($field) && !strstr($field," ")) {
$in_headers = true;
}

$max_line_length = 998; # used below; set here for ease in change

while(list(,$line) = @each($lines)) {
$lines_out = null;
if($line == "" && $in_headers) {
$in_headers = false;
}
# ok we need to break this line up into several
# smaller lines
while(strlen($line) > $max_line_length) {
$pos = strrpos(substr($line,0,$max_line_length)," ");
$lines_out[] = substr($line,0,$pos);
$line = substr($line,$pos + 1);
# if we are processing headers we need to
# add a LWSP-char to the front of the new line
# rfc 822 on long msg headers
if($in_headers) {
$line = "\t" . $line;
}
}
$lines_out[] = $line;

# now send the lines to the server
while(list(,$line_out) = @each($lines_out)) {
if($line_out[0] == ".") {
$line_out = "." . $line_out;
}
$tmpdata .= $line_out.$this->CRLF;
}
}
# ok all the message data has been sent so lets get this
# over with aleady
$this->send_line($tmpdata.$this->CRLF.".");
//fputs($this->smtp_conn, $this->CRLF . "." . $this->CRLF);

$rply = $this->get_lines();
$code = substr($rply,0,3);

if($code != 250) {
$this->error =
array("error" => "DATA not accepted from server",
"smtp_code" => $code,
"smtp_msg" => substr($rply,4));
return false;
}
return true;
}


/*
* Hello($host="")
*
* Sends the HELO command to the smtp server.
* This makes sure that we and the server are in
* the same known state.
*
* Implements from rfc 821: HELO <SP> <domain> <CRLF>
*
* SMTP CODE SUCCESS: 250
* SMTP CODE ERROR : 500, 501, 504, 421
*/
function Hello($host="") {
$this->error = null; # so no confusion is caused
if(!$this->connected()) {
$this->error = array(
"error" => "Called Hello() without being connected");
return false;
}
# if a hostname for the HELO wasn't specified determine
# a suitable one to send
if(empty($host)) {
# we need to determine some sort of appopiate default
# to send to the server
$host = "localhost";
}

$this->send_line("HELO " . $host);

//fputs($this->smtp_conn,"HELO " . $host . $this->CRLF);

$rply = $this->get_lines();
$code = substr($rply,0,3);

if($code != 250) {
$this->error =
array("error" => "HELO not accepted from server",
"smtp_code" => $code,
"smtp_msg" => substr($rply,4));
return false;
}
$this->helo_rply = $rply;

return true;
}

function AuthHello($host="",$user="",$pass="") {

$this->error = null; # so no confusion is caused
if(!$this->connected()) {
$this->error = array(
"error" => "Called Hello() without being connected");
return false;
}
# if a hostname for the HELO wasn't specified determine
# a suitable one to send
if(empty($host)) {
# we need to determine some sort of appopiate default
# to send to the server
$host = "localhost";
}

$this->send_line("EHLO ".$host);

$rply = $this->get_lines();
$code = substr($rply,0,3);
if($code != 250) {
$this->error =
array("error" => "EHLO not accepted from server",
"smtp_code" => $code,
"smtp_msg" => substr($rply,4));
return false;
}
$this->helo_rply = $rply;
$this->send_line("AUTH LOGIN");
$rply = $this->get_lines();
$code = substr($rply,0,3);

if($code != 334) {
$this->error =
array("error" => "AUTH LOGIN not accepted from server",
"smtp_code" => $code,
"smtp_msg" => substr($rply,4));
return false;
}

$this->send_line(base64_encode($user));
$rply = $this->get_lines();
$code = substr($rply,0,3);

if($code != 334) {
$this->error =
array("error" => "USER not accepted from server",
"smtp_code" => $code,
"smtp_msg" => substr($rply,4));
return false;
}

$this->send_line(base64_encode($pass));
$rply = $this->get_lines();
$code = substr($rply,0,3);
if($code != 235) {
$this->error =
array("error" => "PASSWORD not accepted from server",
"smtp_code" => $code,
"smtp_msg" => substr($rply,4));
return false;
}
return true;
}

/*
* MailFrom($from)
*
* Starts a mail transaction from the email address specified in
* $from. Returns true if successful or false otherwise. If True
* the mail transaction is started and then one or more Recipient
* commands may be called followed by a Data command.
*
* Implements rfc 821: MAIL <SP> FROM:<reverse-path> <CRLF>
*
* SMTP CODE SUCCESS: 250
* SMTP CODE SUCCESS: 552,451,452
* SMTP CODE SUCCESS: 500,501,421
*/
function MailFrom($from) {
$this->error = null; # so no confusion is caused

if(!$this->connected()) {
$this->error = array(
"error" => "Called Mail() without being connected");
return false;
}

$this->send_line("MAIL FROM:" . $from);

//fputs($this->smtp_conn,"MAIL FROM:" . $from . $this->CRLF);

$rply = $this->get_lines();
$code = substr($rply,0,3);

if($code != 250) {
$this->error =
array("error" => "MAIL not accepted from server",
"smtp_code" => $code,
"smtp_msg" => substr($rply,4));
return false;
}
return true;
}

/*
* Quit($close_on_error=true)
*
* Sends the quit command to the server and then closes the socket
* if there is no error or the $close_on_error argument is true.
*
* Implements from rfc 821: QUIT <CRLF>
*
* SMTP CODE SUCCESS: 221
* SMTP CODE ERROR : 500
*/
function Quit($close_on_error=true) {
$this->error = null; # so there is no confusion

if(!$this->connected()) {
$this->error = array(
"error" => "Called Quit() without being connected");
return false;
}

# send the quit command to the server
$this->send_line("QUIT");
//fputs($this->smtp_conn,"quit" . $this->CRLF);

# get any good-bye messages
$byemsg = $this->get_lines();

$rval = true;
$e = null;

$code = substr($byemsg,0,3);
if($code != 221) {
# use e as a tmp var cause Close will overwrite $this->error
$e = array("error" => "SMTP server rejected quit command",
"smtp_code" => $code,
"smtp_rply" => substr($byemsg,4));
$rval = false;
}

if(empty($e) || $close_on_error) {
$this->Close();
}

return $rval;
}

/*
* Recipient($to)
*
* Sends the command RCPT to the SMTP server with the TO: argument of $to.
* Returns true if the recipient was accepted false if it was rejected.
*
* Implements from rfc 821: RCPT <SP> TO:<forward-path> <CRLF>
*
* SMTP CODE SUCCESS: 250,251
* SMTP CODE FAILURE: 550,551,552,553,450,451,452
* SMTP CODE ERROR : 500,501,503,421
*/
function Recipient($to) {
$this->error = null; # so no confusion is caused

if(!$this->connected()) {
$this->error = array(
"error" => "Called Recipient() without being connected");
return false;
}

$this->send_line("RCPT TO:" . $to);
//fputs($this->smtp_conn,"RCPT TO:" . $to . $this->CRLF);

$rply = $this->get_lines();
$code = substr($rply,0,3);

if($code != 250 && $code != 251) {
$this->error =
array("error" => "RCPT not accepted from server",
"smtp_code" => $code,
"smtp_msg" => substr($rply,4));
return false;
}
return true;
}

function get_lines() {
$data = "";
while($str = fgets($this->smtp_conn,515)) {
$data .= $str;
# if the 4th character is a space then we are done reading
# so just break the loop
if(substr($str,3,1) == " ") { break; }
}
if($this->do_debug) {
$tmp = ereg_replace("(\r|\n)","",$data);
echo("<font style=\"font-size:12px; font-family: Courier New; background-color: white; color: black;\"><- <b>".htmlspecialchars($tmp)."</b></font><br>\r\n");flush();
}
return $data;
}

function send_line($data) {
fputs($this->smtp_conn,$data.$this->CRLF);
if($this->do_debug) {
$data = htmlspecialchars($data);
echo("<font style=\"font-size:12px; font-family: Courier New; background-color: white; color: black;\">-> ".nl2br($data)."</font><br>\r\n");flush();
}
}

}

$mail = new phpmailer;
//$mail->UseAuthLogin("seuemail@seudominio.com","suasenha1234");

$mail->From = "remetente@dominio.com";
$mail->FromName = "from name";

//$mail->Host = "mail.seudominio.com";

$mail->AddAddress("seuemail@dominio.com");

$mail->Subject = "Enviado pelo formulario do site";

$mail->Body = $_POST['txtMensagem'];

if( $mail->Send() )
echo( "OK - email enviado" );
else
echo( "ERRO ao enviar e-mail" );


//abaixo linha em php para redirecionar a url se quiser ativar basta descomenta-la
//header ("Location: http://www.seudominio.com/obrigado.php");

?>


 



EMAIL:  
SENHA: