0

我的脚本如下所示:

<?php    
mail('xxxxxxxxxx@msg.telus.com', '', 'Message', 'From: John Doe \r\n', '-fxxxxxxxxxx@email.com');
?>

当我通过将脚本发送到我的手机来测试脚本时,它可以正常接收消息,但它说消息来自“9999999999”。我的问题:

  1. 9999999999 是什么意思?我可以从谷歌收集到的最好的信息是它表示私人号码/垃圾邮件。
  2. 有没有办法让发件人显示为“Jon Doe”?本质上,我需要能够使用 PHP 脚本来控制电话接收到消息时显示在消息上的发件人姓名。

我正在使用 Android 手机 (Galaxy S3) 进行测试,但这需要能够在所有手机和所有服务提供商上运行。有什么解决办法吗?

更新

经过一些测试,这是我发现的:

  • 使用 Fred 的解决方案,根本不会发送任何消息。
  • 如果我在 Fred 的解决方案中去掉标题参数中的名称,并去掉电子邮件周围的括号,我会得到与以前相同的结果(它在发件人字段中发送 9999999999)。
  • 如果在实施上述更改后,我将电子邮件从一个确实存在的地址(到目前为止我一直在使用我的电子邮件)更改为一个不存在的地址,我会得到相同的 9999999999 结果。
  • 如果我将电子邮件更改为非电子邮件格式的内容(例如,只有 John Doe 而不是 john@doe.com),它根本不会发送。

我的手机和我妈妈的手机都是这种情况(不同的型号 - 不是智能手机 - 但使用相同的服务提供商,她的手机是 6245 而不是 9999999999)。考虑到这一点,并且由于 Fred 的解决方案对他有效,但对我无效,我只能得出结论,这取决于提供者。此外,在我的提供商的情况下,无论电子邮件服务器是否实际存在,他们都必须使用正则表达式来确保标头的格式为电子邮件。我想我将不得不更多地研究 mail() 函数。

4

1 回答 1

-1

在这里,试试这个尺寸:

<?php    
mail('xxxxxxxxxx@msg.telus.com', '', 'Message', "From: John Doe <xxxxxxxxxx@email.com>\r\n");
?>

添加的选项:

例如,如果您的表单包含影响以下内容的内容:

<label for='name'>Enter Name: </label>
<input type="text" name="name">

<label for='email'>Enter Email Address:</label>
<input type="text" name="email">

<textarea rows="2" name="message" cols="20"></textarea>

然后你可以使用这样的东西:

<?php

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

mail("xxxxxxxxxx@msg.telus.com", "Subject here", "$message", "From: $name <$email>\r\n");
echo "Message sent.";

?>

我假设,当然。

于 2013-04-25T00:57:16.330 回答