【问题标题】:How to make my subject/sender work with some tag i make如何让我的主题/发件人使用我制作的一些标签
【发布时间】:2019-07-24 16:13:16
【问题描述】:

嘿,我在我的发件人上做了一些标签,使它非常可选$usernameemail = preg_replace('/@.*?$/', '', $email); 而且我一直在使用一些数组,所以它可以与##UNAME## 一起使用,因为$usernameemail 相关,我想制作标签##UNAME##,但是问题在这里,当我把这些##UNAME# # 在消息正文上,结果通常是(它应该从 username@email.com 变成用户名)它可以放置用户名,但是当我把它放在主题上时它没有工作,任何帮助将不胜感激,希望我的项目能完成。非常感谢!

【问题讨论】:

  • str_replace('##UNAME##', $usernameemail, $body) 或者您可以将其作为要搜索的标签数组和要替换它们的值数组。
  • 嗨@ArtisticPhoenix我已经做了一个配置来设置我的主题作为配置文件而不更改我的发件人,`“主题”=>“MakassarSender函数”,`我已经设置了uname,它只是如果我使用 ##UNAME## 作为调用 $usernameemail 会很好,但如果我使用作为 "subject" => "##UNAME##" ,它只会发送 ##UNAME## on主题
  • 你应该学会抽象你的问题,然后再用谷歌搜索它们,例如例如,这与 phpmailer 关系不大。这只是占位符的字符串处理/替换。
  • 修复这个问题真的让我很沮丧,使它成为一个有这么多标签的邮件发件人,我认为 stackoverflow 是我唯一可以信任的网站来帮助我
  • 听起来您一直在尝试在不同的位置应用这些占位符。但是您只展示了一个如何使用它的示例。

标签: php mail-sender


【解决方案1】:

我会这样做:

  $tags = [
      '##UNAME##' => $usernameemail,
      '##FOO##'   => $foo, //for example of multiple
  ];

  //$email is the content of the email (I would change this to $body as $email implies an email address)

  $email = str_replace(array_keys($tags), $tags, $email);

这样做是在$email 文本中找到keys 之类的##UNAME##,并将其替换为数组中该键的值。这样可以很容易地保持你的标签井井有条。

【讨论】:

  • 你能在下面查看我的答案吗? ,使用它是因为必须发布我的一些脚本
  • 您应该编辑您的问题并将代码发布到那里,作为答案这样做会使其他用户感到困惑并阻止其他答案。
  • 对不起,第一次使用stackoverflow,下次我会努力的。
  • 这次就放手吧,别再这样了……哈哈,玩玩而已。祝你好运!
【解决方案2】:
    $usernameemail = preg_replace('/@.*?$/', '', $email);

$date = date('G:i, d M Y');
$file = file_get_contents($msgfile);
$arr  = array('##EMAIL##', '##SUBJECT##', '##RANDOMIP##', '##FROMMAIL##', '##FROMNAME##', '##LINK##', '##RANDOMCHAR1##', '##RANDOMCHAR2##', '##RANDOMCHAR3##', '##RANDOMCHAR4##', '##RANDOMCHAR5##', '##RANDOMCHAR6##', '##RANDOMCHAR7##', '##RANDOMCHAR8##', '##RANDOMCHAR9##', '##RANDOMCHAR10##', '##COUNTRY##', '##DATE##', '##NUMBER1##', '##NUMBER2##', '##NUMBER3##', '##NUMBER4##', '##NUMBER5##', '##NUMBER6##', '##NUMBER7##', '##NUMBER8##', '##NUMBER9##', '##NUMBER10##', '##OS##', '##BROWSER##', '##CITYAMERIKA##', '##AMPLOP##', '##UNAME##');
$new  = array('' . $email . '', '' . $subject . '', '' . $randip . '', '' . $frommail . '', '' . $fromname . '', '' . $randurls . '', '' . $randstr1 . '', '' . $randstr2 . '', '' . $randstr3 . '', '' . $randstr4 . '', '' . $randstr5 . '', '' . $randstr6 . '', '' . $randstr7 . '', '' . $randstr8 . '', '' . $randstr9 . '', '' . $randstr10 . '', '' . $country . '', '' . $date . '', '' . $randnumber1 . '', '' . $randnumber2 . '', '' . $randnumber3 . '', '' . $randnumber4 . '', '' . $randnumber5 . '', '' . $randnumber6 . '', '' . $randnumber7 . '', '' . $randnumber8 . '', '' . $randnumber9 . '', '' . $randnumber10 . '', '' . $OS . '', '' . $browser . '', '' . $cityamrik . '', '' . $amplop . '', '' . $usernameemail . '');
$repl = str_replace($arr, $new, $file);
return $repl;

我已经制作了一个文件来组织我的标签,名为 mks.function.php ,我在这里放置了所有标签以使其尽可能干净。 @ArtisticPhoenix

【讨论】:

  • 在创建数组时,您不需要使用所有那些 浓度运算符,只需一个逗号分隔的赋值就足够了... $new = array ( $email, $subject, $randip, $frommail, $fromname, $randurls, $randstr1, $randstr2, $randstr3, $randstr4, $randstr5, $randstr6, $randstr7, $randstr8, $randstr9, $randstr10, $country, $date , $randnumber1, $randnumber2, $randnumber3, $randnumber4, $randnumber5, $randnumber6, $randnumber7, $randnumber8, $randnumber9, $randnumber10, $OS, $browser, $cityamrik, $amplop, $usernameemail);除此之外,你确定 $email 有价值吗?
  • $ListBrowser = array('Internet Explorer', 'Firefox', 'Safari', 'Chrome', 'Edge', 'Opera', 'Netscape');洗牌($ListBrowser); $browser = array_shift($ListBrowser);
  • @Stephanie Temple 必须使用这些,因为我通过随机排列数组来制作标签,所以让它成为我唯一的选择,是的,$email 有一个价值
猜你喜欢
  • 2020-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-23
  • 1970-01-01
  • 2013-02-01
  • 2021-07-11
相关资源
最近更新 更多