如果我问一些太具体的东西,我很抱歉,但我是PHP的初学者,这有点让我烦恼。我想做一个函数来做一些数据处理和发送电子邮件,但是当我把电子邮件功能放在另一个函数中时,它不起作用。为什么会这样?
这有效:
if (do some checking) {
//...
if (mail($to, $subject, $body)) {
echo 1;
} else {
echo 2;
}
} else {
echo 3;
}
这不起作用(我把代码剪掉了,但它仍然不起作用):
function sendMail($to, $subject, $body) {
if (mail($to, $subject, $body)) {
return 1;
} else {
return 2;
}
}
//...
if (do some checking) {
//...
echo sendMail($to, $subject, $body);
} else {
echo 3;
}
答案 0 :(得分:2)
这对我来说很好。
<?php
function sendMail($to, $subject, $body) {
if (mail($to, $subject, $body)) {
return 1;
} else {
return 2;
}
}
if (true) {
echo sendMail('some@email.org', 'some subject', 'some body');
} else {
echo 3;
}
?>
我得到了回应。所以sendMail功能肯定有效。
在您的脚本中解析了什么“做一些检查”?检查一下。
答案 1 :(得分:0)
运行脚本时输出是1,2还是3?
请尝试以下操作:(顺便说一句,您需要将'email@example.com'替换为您可以检查的有效电子邮件)
<?php
function sendMail($to, $subject, $body) {
if (mail($to, $subject, $body)) {
return 1;
} else {
return 2;
}
}
if (1) {
$to = "email@example.com";
$subject = "Message Subject";
$body = "Message Body";
echo sendMail($to, $subject, $body);
} else {
echo 3;
}
?>