我正在编写一个小的电子邮件到文本的脚本,似乎每次我将“doMail()”函数包装在 if 语句中时,它都会失败,或者在函数内,如果我将 mail() 函数包装为一个 if 语句,它也失败了。
但是,如果我删除条件,它就像一个魅力?我应该怎么做,这可能是什么原因?
编辑:通过“......它失败了”,我的意思是它呼应了“出了点问题!” 就像它应该根据代码一样。
这是代码:
<?php
error_reporting(E_ALL);
session_start();
if (!$_SESSION['doesExist'] == true)
{
echo "Session doesn't exist!";
die();
}
if (!isset($_POST['num']) || !isset($_POST['carrier']) || !isset($_POST['msg']))
{
echo "Failed!";
die();
}
$num = $_POST['num'];
$car = $_POST['carrier'];
$msg = $_POST['msg'];
$subject = '';
$head = 'From: admin@google.com' . "\r\n";
switch ($car)
{
case "att":
$num .= "@txt.att.net";
break;
case "verizon":
$num .= "@vtext.com";
break;
case "tmobile":
$num .= "@tmomail.net";
break;
}
function doMail($toNum, $sub, $message, $headers)
{
if(mail($toNum, $sub, $message, $headers))
{
echo "Done!";
}
else
{
echo "Something went wrong!";
}
}
doMail($num, $subject, $msg, $head);
?>