使用核心php在php中自定义邮件发送表单

时间:2015-03-04 06:35:49

标签: php mysql

我在这里需要一些帮助。

我正在做一个php自定义邮件发送表单,我需要为用户设置自定义选项 - 端口,主机,smtp电子邮件,smtp传递,smtp用户名,还有启用或禁用smtp的选项,这些全部工作,但我有一个情况。

我还想为用户启用SSL选项,因此如果用户选择SSL为是,那么它将使用SSL发送以防止电子邮件进入垃圾邮件。但我无法做到这一点,任何人都可以帮助我。

这是我正在使用的代码,请检查并协助任何人 -

https://www.dropbox.com/s/m7ltrl8q0dxic4v/smtpmail-dummy.zip?dl=0

1 个答案:

答案 0 :(得分:0)

这里为此设置 PHPMailer 类的 SMTPSecure 属性为'ssl'。然后使用SmtpConnect()方法连接它。

所以基本上你可以编写如下代码。不完全是,仅供参考。

<?php
    $mail   = new PHPMailer; // call the class 
    $mail->IsSMTP(); 
    $mail->Host = SMTP_HOST; //Hostname of the mail server
    $mail->Port = SMTP_PORT; //Port of the SMTP like to be 25, 80, 465 or 587
    $mail->SMTPAuth = true; //Whether to use SMTP authentication
    $mail->Username = SMTP_UNAME; //Username for SMTP authentication any valid email created in your domain
    $mail->Password = SMTP_PWORD; //Password for SMTP authentication
    $mail->AddReplyTo("developer@vrstamphead.com", "Developer Rakesh");
    //reply-to address
    $mail->SetFrom("developer@vrstamphead.com", "Developer Rakesh"); //From address of the mail
    // put your while loop here like below,
    $mail->Subject = "Your SMTP Mail"; //Subject od your mail
    $mail->AddAddress($email, "Asif18"); //To address who will receive this email
    $mail->MsgHTML("<b>Hi, your first SMTP mail has been received. Great Job!.. <br/><br/>by <a href='http://www.asif18.com/7/php/send-mails-using-smtp-in-php-by-gmail-server-or-own-domain-server/'>Asif18</a></b>"); //Put your body of the message you can place html code here

    if ($_SESSION['enable_ssl'] = 1) {    // 1 for true and 0 for false
        $mail->SMTPSecure = '';
        $mail->SmtpConnect();
    }

    $send = $mail->Send(); //Send the mails

    if($send){
        echo '<center><h3 style="color:#009933;">Mail sent successfully</h3></center>';
    }
    else{
        echo '<center><h3 style="color:#FF3300;">Mail error: </h3></center>'.$mail->ErrorInfo;
    }
?>

如果您提供正确的方式,也可以使用$_SESSION['enable_ssl']而不是$_POST['enable_ssl']

希望这会有所帮助......