PHPMailer-向单个收件人发送多条文本消息

PHPMailer-向单个收件人发送多条文本消息,php,Php,我有一个项目的一部分,它从数据库中获取一些客户信息,并使用PHP Mailer向销售人员发送一条文本消息。部分客户信息包括: 名字 电话 电话2 地址 城市 陈述 拉链 注释 正如你所能想象的,160个字符无法将其切掉。我需要能够发送至少两条短信到同一个功能相同的号码 我有一个单一的文字信息工作,使用PHP邮件。我将在下面发布相关代码: db_functions.php: function send_text($name, $message){ require 'class.phpmaile

我有一个项目的一部分,它从数据库中获取一些客户信息,并使用PHP Mailer向销售人员发送一条文本消息。部分客户信息包括:

  • 名字
  • 电话
  • 电话2
  • 地址
  • 城市
  • 陈述
  • 拉链
  • 注释
正如你所能想象的,160个字符无法将其切掉。我需要能够发送至少两条短信到同一个功能相同的号码

我有一个单一的文字信息工作,使用PHP邮件。我将在下面发布相关代码:

db_functions.php:

function send_text($name, $message){
require 'class.phpmailer.php';

$to = 'xxxxxxxxxx@vtext.com';

$mail = new PHPMailer(); // create a new object
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail
$mail->Host = "smtp.gmail.com";
$mail->Port = 465; // or 587
$mail->IsHTML(true);
$mail->Username = "xxxxxx@gmail.com";
$mail->Password = 'xxxxxxx';
$mail->SetFrom('xxxxxx@gmail.com');
$mail->Subject = $name;
$mail->Body = $message;
$mail->AddAddress($to);
$mail->Send();
$mail->ClearAddresses();
return;
}
分配_lead.php:

include 'mysql_login_pdo.php';
include '../functions/db_functions.php';

if (!isset($_POST['leadID'])) {
    return;
} else {
    $leadID = $_POST['leadID'];
}
if (!isset($_POST['salesID'])) {
    return;
} else {
    $salesID = $_POST['salesID'];
}

//DB FUNCTIONS
db_assignLead($leadID, $salesID);
$message = db_assignLeadNote($leadID);
$name = db_assignLeadName($leadID);
db_assignAddNote($leadID, $message);

//-------------------------This is the problematic area---------------------
//SEND TEXT MESSAGE(s)
    send_text($name, $message);
    $message = '8104124200_230 N Main St_Davison_48423';
    send_text($name, $message);
如您所见,我希望向销售人员发送一条短信,告知客户姓名和有关客户的说明。然后,我想发送第二条包含客户姓名和地址信息的短信。现在我已经使用了一个占位符'8104124200_230 N Main St_Davison_48423',但它将被一个在DB中搜索地址信息的函数所取代

第一条短信发送正常,但第二条短信拒绝发送。我曾经用20秒的睡眠让它工作过一次,但从我读到的来看,这可能是不必要的。而且,20秒的睡眠是完全不可靠的


和往常一样,我非常感谢您的帮助。

我最后做了以下工作,效果很好。我希望它不会引起问题,但如果它这样做了,我会回来更新这篇文章

基本上,我没有两次调用send_text()函数,而是在同一个函数中发送了两次消息:

function send_text($name, $message){
include 'class.phpmailer.php';

//$to = $_POST['to'];
//$password = $_POST['password'];
$to = 'xxxxxx@gmail.com';

$mail = new PHPMailer(); // create a new object
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail
$mail->Host = "smtp.gmail.com";
$mail->Port = 465; // or 587
$mail->IsHTML(true);
$mail->Username = "xxxxxx@gmail.com";
$mail->Password = 'xxxxxx';
$mail->SetFrom('xxxxxx@gmail.com');
$mail->Subject = $name;
$mail->Body = $message;
$mail->AddAddress($to);
$mail->Send();

//Send the second message
$mail->Body = 'Testing second message';
$mail->Send();
//End Second message

return;
}

看起来vtext.com正在阻止你发送许多邮件,这对垃圾邮件者来说是一个很好的工具。我自己也这么认为,所以我最终尝试将这两条邮件都发送到我的gmail帐户,而不是vtext。由于某种原因,只有第一条消息到达。我在想也许Gmail会把我标记为垃圾邮件,但我读到过有人在一分钟内发送20-30条没有问题的信息……我们知道互联网不会说谎;)
$mail->Send()的返回值,并检查消息是否已发送。如果是这样的话,在gmail上查看你的垃圾邮件文件夹。这很奇怪。我有一个较小的项目,它只向同一个收件人发送两次完全相同的文本消息,效果很好。该项目只是一个文本区域,以及一个分别传递消息和电话号码的文本框。这两条消息都发送得很好,所以我猜它与这个程序的关系比Gmail/Vtext的功能更大。如果你想看的话,我现在就可以找到它的源代码。因为没有足够的空间在这里发布较小的项目代码,我将其发布到了网上: