2013-09-23 89 views
0

我正在建立一個使用mysql保存數據的表單,並且工作正常。但我想給註冊用戶發送一封電子郵件,歡迎通過一些說明。 register.php文件,我把下列:發佈mysql併發送郵件給用戶註冊

<form id="Form1" name="Form1" method="post" action="save.php"> 

save.php在我的文件中有如下代碼:

<?php 
/*verifico se os dados estao vindos do formulario, porque se uma pessoa acessar essa pagina diretamente 
poderia dar erro, entao eu testo antes*/ 
if($_SERVER["REQUEST_METHOD"] == "POST") { 
$nome   = $_POST["nome"]; 
$email  = $_POST["email"]; 
$sexo   = $_POST["sexo"]; 
$fone   = $_POST["fone"]; 
$cidade  = $_POST["cidade"]; 
$estados  = $_POST["estados"]; 
$mensagem  = $_POST["mensagem"]; 

//aqui ja expliquei, mas denovo: ele verifica se o arquivo existe 
if(file_exists("init.php")) { 
    require "init.php";  
} else { 
    echo "Arquivo init.php nao foi encontrado"; 
    exit; 
} 
//ja expliquei, mas ultima vez: verifica se a função que eu vou usar existe 
if(!function_exists("Abre_Conexao")) { 
    echo "Erro o arquivo init.php foi auterado, nao existe a função Abre_Conexao"; 
    exit; 
} 

Abre_Conexao(); 
if(@mysql_query("INSERT INTO usuarios VALUES ( NULL , '$nome', '$email', '$sexo', '$fone' , '$cidade', '$estados', '$mensagem')")) { 
       //verifiquei acima se deu certo o comando e aqui verifico se foi mesmo gravado o dado no banco 
    if(mysql_affected_rows() == 1){ 
     echo "Registro efetuado com sucesso<br />"; 
    } 

} else { 
       //verifico se nao estao tentando gravar um dado que ja existe, pois usei UNIQUE na tabela 
    if(mysql_errno() == 1062) { 
     echo $erros[mysql_errno()]; 
     exit; 
    } else {  
     echo "Erro nao foi possivel efetuar o cadastro"; 
     exit; 
    } 
    @mysql_close(); 
} 

} 
?> 


<a href="index.php">BACK</a> 

我需要插入的文件save.php的方式發送電子郵件爲註冊者提供標準文本。 有沒有人有任何想法如何做?

+0

你可以使用PHP的郵件()函數,但我會建議使用swiftmailer的phpmaiiler而不是 – 2013-09-23 03:16:26

回答

1

我決定把下面的代碼:

<?php 
    require("phpmailer/class.phpmailer.php"); 
    $mail = new PHPMailer(); 

    $mail->Username = "[email protected]"; 
    $mail->Password = "*******"; 
    $mail->AddAddress($email); // recipients email 
    $mail->FromName = "Name Username"; // readable name 

    $mail->Subject = "Subject title"; 
    $mail->Body = "Here is the message you want to send to your friend."; 

    $mail->Host = "ssl://smtp.gmail.com"; // GMail 
    $mail->Port = 465; 
    $mail->IsSMTP(); // use SMTP 
    $mail->SMTPAuth = true; // turn on SMTP authentication 
    $mail->From = $mail->Username; 
    if(!$mail->Send()) 
     echo "Mailer Error: " . $mail->ErrorInfo; 
    else 
     echo "Message has been sent"; 
    ?> 

感謝所有。

0

下載PHPMailer的包.. 包括在您的網頁... 並在save.php頁面添加以下代碼

$body = "Welcome"; 
$body = $nome.$body; 

$email = new PHPMailer(); 
$email->IsSendmail(); 
$email->From  = '[email protected]'; 
$email->FromName = 'Your Nmae'; 
$email->Subject = 'Welcome Note'; 
$email->Body  = $body; 
$email->AddAddress($email); 
$email->Send(); 
+0

謝謝桑基,但我把這段代碼放在文件save.php中,好嗎? 我如何撰寫條件以發送電子郵件?我已經有PHPMailer的文件。 –

+0

我設法解決=)感謝您的幫助 –

+0

隨時@TiagoAlves ..米高興爲你工作:) – Jinandra

1

您需要:
1.電子郵件地址發送到(受體)
2.受試者
3.消息
4.從發送者(你)電子郵件

$recipient = "[email protected]"; 
$subject = "Subject: Welcome to Somewhere"; 
$message = "Dear Somebody\n\n"; 
$message .= "Thank you for signing up with Somewhere\n"; 
$message .= "You can now sign into your account\n\n"; 
$message .= "Thank you!"; 
$from = "From: [email protected]"; 
mail($recipient, $subject, $message, $from); 
相關問題