【发布时间】:2017-09-22 14:31:11
【问题描述】:
我正在使用 PHPMailer 发送短信。我有一台可以通过 SMS 向其发送命令的设备。该设备具有 tmobile sim 卡和 tmobile 电话号码。当我发送电子邮件时,我将其作为 XXXXXXXXXX@tmomail.net 发送到设备。出于某种原因,我认为这些设备不接受命令。例如,如果我希望设备运行 2 分钟,我将发送文本命令 $SLEEP=2。当我使用 PHPMailer 并在我的普通手机上输入相同的内容时,我得到的文本没有问题。 (XXXXXXXXXX@txt.att.net)。有任何想法吗?我在下面附上了我的代码。
$bk = '$SLEEP='.$sleep;
while($row = $result->fetch_assoc()) {
$txt= $row["devicePhoneNumber"]. "@tmomail.net";
}
$phpMail = new PHPMailer();
$phpMail->isSMTP();
$phpMail->SMTPDebug = 2;
$phpMail->IsHTML(true);
$phpMail->Username = 'XXX';
$phpMail->Password = 'XXX';
$phpMail->From = "";
$phpMail->FromName = "";
$phpMail->Subject = "";
$phpMail->Body = $bk;
$phpMail->AddAddress($txt);
$phpMail->AddAddress('XXXXXXXXXX@txt.att.net');
$phpMail->Send();
【问题讨论】:
-
是的。它成功发送到电子邮件和我的常规号码,即上面的@txt.att.net。
-
我知道发送电子邮件是免费的,但您是否考虑过使用 Twilio 或 Nexmo(它们是专门为发送短信而构建的服务)?
-
是的,我已经调查过了。我只是想减少一些成本。我意识到这是一笔不小的费用。
-
您是否尝试过从另一个电子邮件帐户向设备发送电子邮件,甚至是正常的短信,以确保设备可以接收消息。
-
您的服务器可能已被 tmobile 服务器列入黑名单,因此消息可能被拒绝。一种解决方案可能是转向 Mailgun 之类的东西。您可以设置一个免费帐户并通过它们发送消息,直至达到一定的限制(数量很多),这将允许您测试它是否只是黑名单的一个奇怪问题。