简单的php邮件不发送电子邮件 [英] simple php mail not sending email

查看:158
本文介绍了简单的php邮件不发送电子邮件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

任何人都可以看到这是否有问题?我没有收到任何错误,但从来没有收到电子邮件。

 <?php 
if(isset($ _ POST [电子邮件'])){

//编辑以下要求的2行
$ email_to =munged@example.com;
$ email_subject =通过crankapps网站发送的电子邮件;

函数死($ error){
//你的错误代码可以在这里
echo我们很抱歉,但是发现有错误,表单你提交。
echo这些错误出现在下面。< br />< br />;
echo $ error。< br />< br />;
echo请回去修复这些错误。< br />< br />;
die();
}

//验证预期数据存在
如果(!isset($ _ POST ['name'])||
!isset($ _ POST ['email '])||
!isset($ _ POST ['message'])){
死了('我们很抱歉,但是您提交的表单似乎有问题。
}

$ name = $ _POST ['name']; // required
$ email = $ _POST ['email']; // required
$ message = $ _POST ['message']; // required

$ error_message =;
$ email_message =Form details below.\\\
\\\
;

$ email_message。=Name:.clean_string($ name)。\\\
;
$ email_message。=电子邮件:.clean_string($ email)。\\\
;
$ email_message。=Message:.clean_string($ message)。\\\
;


//创建电子邮件标头
$ headers =从:。 $名称。 < 。 $电子邮件。 > \\\
。;
mail($ email_to,$ email_subject,$ email_message,$ headers);
?>


解决方案

首先,只测试一行:

 <?php 
mail(amunged@example.com','测试电子邮件','这是一个测试' );
?>

有可能这不行。



找出你的smtp设置,看看你的php.ini中的smtp设置是否匹配。



查看phpmailer,让你使用更多smtp设置,如ssl等


Can anyone see if there is something wrong with this? I get no errors but never get the email.

    <?php
if(isset($_POST['email'])) {

    // EDIT THE 2 LINES BELOW AS REQUIRED
    $email_to = "munged@example.com";
    $email_subject = "Email sent through crankapps website";

    function died($error) {
        // your error code can go here
        echo "We are very sorry, but there were error(s) found with the form you submitted. ";
        echo "These errors appear below.<br /><br />";
        echo $error."<br /><br />";
        echo "Please go back and fix these errors.<br /><br />";
        die();
    }

    // validation expected data exists
    if(!isset($_POST['name']) ||
        !isset($_POST['email']) ||
        !isset($_POST['message'])) {
        died('We are sorry, but there appears to be a problem with the form you submitted.');      
    }

    $name = $_POST['name']; // required
    $email = $_POST['email']; // required
    $message = $_POST['message']; // required

    $error_message = "";
    $email_message = "Form details below.\n\n";

    $email_message .= "Name: ".clean_string($name)."\n";
    $email_message .= "Email: ".clean_string($email)."\n";
    $email_message .= "Message: ".clean_string($message)."\n";


// create email headers
$headers = "From: ". $name . " <" . $email . ">\n.";
mail($email_to, $email_subject, $email_message, $headers); 
?>

解决方案

first, test with only one line:

<?php
    mail('munged@example.com', 'test email', 'this is a test');
?>

chances are that this will not work.

find out your smtp settings and see if smtp settings in your php.ini match them.

take look at phpmailer which lets you use more smtp settings like ssl etc.

这篇关于简单的php邮件不发送电子邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆