发布mysql并发送电子邮件到用户注册

时间:2013-09-23 03:11:33

标签: php mysql email sendmail phpmailer

我正在使用mysql构建一个表单以保存数据并且工作正常。但我想向注册的用户发送一封电子邮件,并通过一些指示欢迎。 register.php文件我把以下内容:

<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,以便为注册者发送带有标准文本的电子邮件。 有没有人知道怎么做?

3 个答案:

答案 0 :(得分:1)

您需要:
1.发送给(收件人)的电子邮件地址
主题
3.留言
4.来自发件人(您)的电子邮件

$recipient = "someone@example.com";  
$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: me@mydomain.com";  
mail($recipient, $subject, $message, $from);

答案 1 :(得分:1)

我决定使用以下代码:

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

    $mail->Username = "email-to-send@gmail.com"; 
    $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";
    ?>

感谢所有人。

答案 2 :(得分:0)

下载PHPMailer包.. 将它包含在您的页面中...... 并在save.php页面中添加此代码

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

$email = new PHPMailer();
$email->IsSendmail();
$email->From      = 'youremailid@xyz.com';
$email->FromName  = 'Your Nmae';
$email->Subject   = 'Welcome Note';
$email->Body      = $body;
$email->AddAddress($email);
$email->Send();