编程语言
首页 > 编程语言> > php-Swift Mailer无法发送消息时出现问题

php-Swift Mailer无法发送消息时出现问题

作者:互联网

我的swift mailer有问题,它没有向用户发送消息,我将库提取到我网站中的inc文件夹,并创建了以下消息供swift mailer发送:

注意:如果您可以提出除SwiftMailer之外的其他解决方案,请发表评论.

require_once 'inc/lib/swift_required.php';

    //Create the Transport
    $transport = Swift_SmtpTransport::newInstance('mail.mywebsite.com', 25)
    ->setUsername('info@mywebsite.com')
    ->setPassword('myPassword')
    ;

    $mailer = Swift_Mailer::newInstance($transport);

    //Define Message Subject
    $message = Swift_Message::newInstance('myWebsite Registration')

    //e-mail from
    ->setFrom(array('info@mywebsite.com' => 'myWebsite'))
    //e-mail to
    ->setTo(array('$email1' => '$username'))
    //e-mail body
    ->setBody('

    Message body Here

    ')
    ;

    $result = $mailer->send($message);

    //Show user message after message has been sent
    include_once 'msgToUser.php'; 
    exit();

我测试了一下,但没有收到消息,我也不明白为什么,我遵循了官方网站上的说明:http://swiftmailer.org/docs/sending.html

任何人都可以提出问题所在吗?

注意:我使用过PHP mail();可以在发送电子邮件之前使用,但是它们被归类为垃圾邮件.如果可能,任何人都可以建议解决方案如何使用mail();.使电子邮件不是垃圾邮件?请不要提出类似建议:使用主机服务器而不是您的域,例如而不是使用info@yourdomain.com,请使用info@yourhost.com.

解决方法:

我担心您的问题无法得到具体回答,因为在具体的技术问题旁边,您可能会遇到复杂的问题,这些问题需要涉及多个地方,这并非易事.

发送问题

首先,您可以使用SwitfMailer发送电子邮件,这应该“正常工作”.但是,如果您使用的传输方式(例如SMTP服务器)没有传递电子邮件,则这与SwiftMailer直接无关(因为它与PHP邮件无关).

但是,您可以使用SwitfMailer的$result来查找SwiftMailer本身是否在发送电子邮件时遇到任何错误.有关更多信息,请参见SwiftMailer SMTP Troubleshooting (Archived Copy),以防万一您无法使SwiftMailer与SMTP服务器一起使用.

垃圾邮件问题

这不能具体回答.在SO上有时会出现类似的问题,但大多数情况下并没有明确回答,因为该主题涉及您电子邮件的确切内容(电子邮件标头和正文垃圾邮件评分),从哪个服务器发送(IP地址)和基于主机名的垃圾邮件评分,例如,黑名单以及主机名的DNS配置,请参见SPF)和其他内容.

使用SwiftMailer可以帮助您交换邮件后端,例如购买一个商用SMTP网关,该网关专注于降低被评为垃圾邮件的邮件的负担.但是,正如我在其他一些回答/评论中所写的那样:整个企业都在垃圾邮件上运行-在“坏”和“好”方面.因此,并不总是建议信任任何这些实体.

相反,您可以开始了解电子邮件在技术上如何工作,垃圾邮件评分如何工作以及如何通过正确配置的SMTP服务器发送正确的电子邮件.那是一些工作,在这里不能提供答案,因为它的范围很广.

标签:email,php,swiftmailer
来源: https://codeday.me/bug/20191102/1988868.html