Php 有效电子邮件地址上的Swift\u RfcComplianceException在Windows中工作,而不是在Ubuntu中
我遇到了SwiftMailer的一个相当臭名昭著的问题:Php 有效电子邮件地址上的Swift\u RfcComplianceException在Windows中工作,而不是在Ubuntu中,php,exception,symfony,swiftmailer,rfc2822,Php,Exception,Symfony,Swiftmailer,Rfc2822,我遇到了SwiftMailer的一个相当臭名昭著的问题: 致命错误:未捕获异常“Swift\u RfcComplianceException”,消息“邮箱地址已给定”[noreply@host.com]不符合RFC 2822第3.6.2节的要求。' 正在使用以下代码创建消息(有效): 奇怪的是地址:noreply@host.com在Windows环境中运行Xampp的本地计算机上,addr spec regex不会失败,但在运行Xampp解决方案的Ubuntu计算机上,在/opt/lampp之外
致命错误:未捕获异常“Swift\u RfcComplianceException”,消息“邮箱地址已给定”[noreply@host.com]不符合RFC 2822第3.6.2节的要求。'
正在使用以下代码创建消息(有效):
奇怪的是地址:noreply@host.com在Windows环境中运行Xampp的本地计算机上,addr spec regex不会失败,但在运行Xampp解决方案的Ubuntu计算机上,在/opt/lampp
之外,addr spec regex会失败
- PCRE版本似乎没有问题(两者都是相同的),因为当我将
提取到一个字符串并通过一个简单的脚本进行解析时,它通过了addspec
- 电子邮件地址中没有多余的字符,也没有未修剪的空白
@
符号后的子模式。上面提到的Github问题中的一条评论似乎暗示,Apache处理正则表达式时会抛出错误,这与我在Ubuntu 12.10系统(尽管不是在Windows上)上遇到的情况相符
这可能与Apache没有正确的PCRE支持或配置不正确有关吗
谢谢 我向您发送了一个关于swiftmailer的示例: 参数.yml 目的:[电子邮件1、电子邮件2、电子邮件3] 服务: 您的服务名称:
class: your path
arguments: ["%destinatarios%"]
服务类别:
受保护的目的地
public function __construct($destinatarios)
{
$this->destinatarios = $destinatarios;
}
->setCc($this->destinatarios)
我目前正在调查一个类似的错误。我能找到的所有解决方案都涉及到切换到另一个Apache配置/版本,但我觉得这非常不令人满意。您还不知道Apache的确切配置导致了该错误,是吗?很遗憾,没有,对不起。虽然我使用的是虚拟主机,但我使用的是一个Xampp版本(如上所述),主要是默认设置(IIRC)。我相信我会使用其中一个Xampp版本,该版本在2013年4月基本上是最新的。我已经切换到使用nginx的Vagrant+Docker解决方案。感谢您的快速回复!我还没有放弃;也许我仍然可以解决这个问题,问题是系统和Apache的PCRE版本不匹配。一个
libphp5.so
针对系统重建libpcre
解决了它。
public function __construct($destinatarios)
{
$this->destinatarios = $destinatarios;
}
->setCc($this->destinatarios)