php 邮件发送 swift,使用swiftmailer发送邮件【原创】

PHP发送邮件是很常见的一个功能,之前在写项目中同样遇到这类需求,遇到之后首选方案是使用PHPMailer进行处理,不过在实际使用中,解决了各类问题遇到了最后一个参数为0的错误,谷歌解决方案为重装PHP,只能弃用。之后搜索找到swiftmailer插件,官方地址为:http://swiftmailer.org

github地址https://github.com/swiftmailer/swiftmailer,话不多说直接上代码

/**

* 发送邮件

*

* @param string $body 消息

* @param $subject 主题

* @param $to 收件人

* @return int

*/

function sendMail($body = '',$subject , $to)

{

$transport = \Swift_SmtpTransport::newInstance('220.181.12.12', 465, 'ssl');

$transport -> setUsername('*******@163.com');

$transport -> setPassword('******'); //该密码为smtp密码具体自行百度设置

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

$message = \Swift_Message::newInstance();

$message -> setSubject($subject);

$message -> setFrom(array('******@163.com'=>'1111111'));

$message -> setTo(array($to));

$message -> setBody($body);

// $message ->setPart('');

// $message ->attach(''); //附件

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

// printf("Sent %d messages\n", $result);

return $result;

}

在使用前需要在控制器引入

require_once(dirname(dirname(dirname(__FILE__))) . '/FrontendBundle/swiftmailer-5.x/lib/swift_required.php');

require_once(dirname(dirname(dirname(__FILE__))) . '/FrontendBundle/swiftmailer-5.x/lib/swift_init.php');

在使用中需要注意几点,其中使用的密码均为发信邮箱的smtp密码。具体到各个邮箱 百度一下都有详细的设置方法,这里也就不在多说,其中,220.181.12.12 为使用邮箱的SMTP服务器地址,正常的地址应当是smtp.***.com,但是在实际使用中你会发现很多情况下出现无法访问的错误,百度后得知目前一般为IPV6地址导致无法连接,解决方案就ping服务器获取IPV4地址进行替换.220.181.12.12则为smtp.163.com的地址,端口号465。

这样一个简单发送纯文字的方法就搞定了。因为目前项目中使用的也只有文字功能,当然图片,附件的方法在官方文档中都有详细的代码示例。

转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/18870.html

75d087ef9a9fb11dc373caaf33adbf7f.png

微信打赏

支付宝打赏

感谢您对作者Pota的打赏,我们会更加努力!    如果您想成为作者,请点我

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值