Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中通过电子邮件发送SMS时遇到问题_Php_Html_Email_Text_Sms - Fatal编程技术网

在PHP中通过电子邮件发送SMS时遇到问题

在PHP中通过电子邮件发送SMS时遇到问题,php,html,email,text,sms,Php,Html,Email,Text,Sms,我已经尝试了一段时间来设置一个php脚本,它将使用php的邮件功能发送一条文本消息。我有一个HTML表单,要求用户提供他们的电话号码和运营商,一旦我得到了电话号码和运营商,我将它们存储在数据库中,然后尝试向{10位电话号码}@{carrier SMS email}.com发送电子邮件 例如,在Verizon上,我会向5555555555@vtext.com. 但是,每当我这样做的时候,没有一条短信通过。我有一部Verizon手机,已经试过很多次了,但是这些信息从来没有通过。当我手动进入我的电子邮

我已经尝试了一段时间来设置一个php脚本,它将使用php的邮件功能发送一条文本消息。我有一个HTML表单,要求用户提供他们的电话号码和运营商,一旦我得到了电话号码和运营商,我将它们存储在数据库中,然后尝试向{10位电话号码}@{carrier SMS email}.com发送电子邮件

例如,在Verizon上,我会向5555555555@vtext.com. 但是,每当我这样做的时候,没有一条短信通过。我有一部Verizon手机,已经试过很多次了,但是这些信息从来没有通过。当我手动进入我的电子邮件帐户并向myphonenumber@vtext.com,他们马上就过来了

HTML:

<form method="post" action="subscribe.php">

<input class= "submitForm"type="text" name="name" id="name">

<input placeholder="No dashes or spaces" class= "submitForm"type="text" name="number" id="number">

<select name="carrier">
<option value="vtext.com">Verizon</option>
<option value="txt.att.net">At&t</option>
<option value="tmomail.net">T-Mobile</option>
</select>
<input value="Submit">
</form>

威瑞森
美国电话电报公司
T-Mobile
PHP:


在测试了我的邮件功能后,让它给我自己发送一封电子邮件,我意识到虽然电子邮件到达了,但它被过滤到了我的垃圾邮件文件夹中。当我向#@vtext.com发送电子邮件时,可能也发生了同样的事情。这让我有两个选择

  • 使用短信网关
  • 虽然它们可能会花费一些钱,但是SMS网关可以保证我的消息安全地传递给他们的接收者

  • 实施

  • 感谢评论部分的帮助

    不要认为你“必须”使用(付费)网关。。。您使用的这种技术已经使用多年,根本不需要昂贵的网关。我通过C#做了同样的技术,效果非常好。。。辛辛那提市(法院系统)甚至使用同样的技术(无网关)发送法院报告日期的短信提醒:请参见下面的附图示例:(不,指控不是4宗谋杀)

    如果您使用代码直接向自己发送电子邮件,而不是通过短信,会发生什么?另外-您将用户提供的数据直接放入电子邮件标题中,因此您需要非常非常确保您的代码是安全的。我理解您的安全顾虑,但我不确定您直接给自己发电子邮件是什么意思?我希望用户填写这个HTML表单,然后向他们发送一条文本消息。谢谢你的帮助,但如果可能的话,你能再详细说明一下吗?再次感谢您将电子邮件地址更改为您的,只是为了测试确定。更改您的代码,以便在运行时,
    $to
    是您的电子邮件地址。运行你的代码;你收到电子邮件了吗?如果是这样,发送给SMS提供商的电子邮件就有问题。如果不是,那么你的服务器就有本地问题。哦,我现在明白了。当我试着这么做的时候,这封邮件立刻传到了我自己的邮箱,尽管它确实被过滤到了我的垃圾邮件文件夹中。这可能与此有关吗?
    <?php
    //Getting Variables
    $name = trim($_POST["name"]);
    $number = trim($_POST["number"]);
    $carrier = trim($_POST["carrier"]);
    
    //Sending Message
    $email = $number . "@" . $carrier;
    //echo $email = (for example)
        //5555555555@vtext.com
    $to      = $email;
    $subject = 'You Have Been Subscribed';
    $message = 'Testing';
    mail( $to, $subject, $message);
    
    ?>