由于从用户自己的手机号码以编程方式发送带有Meteor的文本似乎是有问题的(请参阅这),我认为这样做的方法可能是将短信/文本作为电子邮件发送。
当我从一个电子邮件客户端发短信给我的妻子时,我经常在工作中手动这样做;“难点”是地址使用的格式因载体的不同而不同。例如,当我通过电子邮件向我的妻子发短信时,我使用和地址如下:
0871632810@txt.att.net这显然适用于使用att.net作为载体的人。对于其他运营商,则使用其他命名方案(可以找到这里和这里 )。
因此,我的想法是,如果我知道用户的电话号码和他们的电子邮件地址,我可以拼凑出正确的短信地址,作为“从”在一封电子邮件。例如,考虑到以下情况:
Phone == 0871632810
Email == guinevere@att.net...I可以有一个类似于(伪代码)的函数:
string getSMSAsEmailAddr(phone, email) {
var emailAsSMS;
if (email.contains('att.net') {
emailAsSMS = 'txt.att.net';
}
else if (email.contains('comcast.net') {
emailAsSMS = 'comcastpcs.textmsg';
}
. . .
return phone + '@' + emailAsSMS;
}问题是,一个人的载体/有效短信地址是否总是由他们的电子邮件地址决定?我想不是--例如,如果一个人有comcast,但他们的电子邮件地址是gmail,或者其他什么东西呢?
是否有必要,为了可靠地构建所需的SMS地址,了解用户的载体(发送方和接收方),并将电子邮件地址排除在等式之外?
更新
至少有一个付费服务为返回运营商的一个电话号码,如这个API。也有一个叫做"CallFire“,但这两个成本莫拉($$)。我更喜欢免费的选择(是的,我是个吝啬鬼)。
我在想这样做的方法是:
var phoneNum = $('#phoneNumber').val(); // returns something like '0871632810'
var carrier = getCarrierForPhoneNumber(phoneNum);// returns something like 'att' or 'comcast' or whatever
var textAddrSuffix = getTextAddrSuffixForCarrierName(carrier); // returns (if carrier is 'att', as an example) something like '@txt.att.net'
var textAddrViaEmail = phoneNum + textAddrSuffix; // returns something like '0871632810@txt.att.net'textAddrViaEmail现在可以用作"to“或"from”电子邮件地址。
发布于 2015-10-18 23:18:35
没有,但是在https://github.com/typpo/textbelt有一个拥有相当大的数据库的库。
https://stackoverflow.com/questions/33198363
复制相似问题