我正在使用SwiftMailer类使用php mail()函数或SMTP发送邮件,具体取决于我的应用程序的配置(开发或生产)。我的代码如下所示:
// Default mailer: php mail() function
$this->transport = \Swift_MailTransport::newInstance();
// If a SMTP host is defined
if (isset($_SITE['site_smtp_host'])) {
$this->transport = \Swift_SmtpTransport::newInstance($_SITE["site_smtp_host"], 587)
->setUsername($_SITE["site_smtp_user"])
->setPassword($_SITE["site_smtp_pass"]);
}
自SwiftMailer 5.4.5以来,我收到了这个弃用通知:
异常:UNKNOWN ERROR(16384):Swift_Transport_MailTransport class从版本5.4.5开始不推荐使用,将在6.0中删除。 改为使用Sendmail或SMTP传输。
我在使用Swift_SendmailTransport
时应该使用Swift_MailTransport
吗?它会在相同的环境下工作吗?它是否也使用php mail()函数?如果没有,是不是可以再使用SwiftMailer的php mail()函数了?
答案 0 :(得分:1)
首先,关于swift邮件网站的弃用:
建议用户尽可能不使用此运输工具 由于许多插件功能不能与之配合使用 由于PHP本身的内部接口,这种传输。
此传输的错误报告级别非常弱, 再次由于PHP的内部mail()函数的限制。你会得到 发送的全有或全无结果。
如果您需要100%兼容的解决方案,则需要检查php.ini
设置和操作系统平台http://php.net/manual/en/mail.configuration.php
对于unix平台,只需拨打->setCommand
ini_get("sendmail_path")
即可。对于Windows平台支持,需要检查smtp
选项。
答案 1 :(得分:0)
这是完成的方式。请注意,并非所有服务器上的Sendmail路径都相同。
-chop WIDTHxHEIGHT+XOFFSET+YOFFSET