正在尝试使用Swiftmailer发送电子邮件



四天来,我一直在努力通过PHP函数向新用户发送验证电子邮件。然后我试着发了一封简单的电子邮件!

只需要一些澄清:

  • 我们必须把用户的名字或完整地址放在Gmail服务器上吗?几声钟声
  • 谁能用几句话向我解释"$message=(new\Swift_message('MailThrough Swift Mailer'((">
  • define('EMAIL','constant;:这个函数能很好地与PDO和PHP7配合使用吗const EMAIL_USERNAME="常量";效果更好

在此之前,此脚本仍然不起作用:

<?php
require 'dev.php';
require 'C:wamp64/www/dayou_php/vendor/autoload.php';

echo 'Envoi de mail avec Swift Mailer';
$subject = 'Mon premier email avec Swift Mailer';
$fromEmail = 'sixxerxxre@gmail.com';
$fromUser = '思而惹';
$body = '<!DOCTYPE html>
<html>
<head>
<title>Mon premier mail</title>
</head>
<body>
<h5>Hello SwiftMailer</h5>
</body>
</html>';

$transport = (new Swift_SmtpTransport(EMAIL_HOST, EMAIL_PORT))
->setUsername(EMAIL_USERNAME)
->setPassword(EMAIL_PASSWORD)
->setEncryption(EMAIL_ENCRYPTION) //For Gmail
;

// Create the Mailer using your created Transport
$mailer = new Swift_Mailer($transport);

// Create a message
$message = (new Swift_Message($subject))
->setFrom([$fromEmail => $fromUser])
->setTo([EMAIL_USERNAME])
->setBody($body, 'text/html')
;

// Send the message
$result = $mailer->send($message);

变量在另一个脚本中dev.php:

const EMAIL_HOST = 'smtp.gmail.com';
// autre port possibles : 465 pour ssl
const EMAIL_PORT = 587;
const EMAIL_USERNAME = 'my_username_without_@gmail';
const EMAIL_PASSWORD = 'my_pass_word';
// autre possibilité : ssl ou null
const EMAIL_ENCRYPTION = 'tls';

我得到的错误是关于常数my_username_without_@gmail

Address in mailbox given [seeergefaure] does not comply with RFC 2822, 3.6.2. in C:wamp64wwwdayou_phpvendorswiftmailerswiftmailerlibclassesSwiftMimeHeadersMailboxHeader.php on line 355

我们必须将用户名称或完整地址的名称放在gmail服务器?几声钟声。。。

您需要在@gmail.com 上填写全名

谁能用几句话向我解释行中的\"$消息=(new\Swift_Message('MailThrough Swift Mailer'((";?

这是关于名称空间的。这意味着,您使用全局命名空间(它将从您的自动加载器中使用(。

define('MAIL','constant;:此函数与PDO和php 7?似乎使用const EMAIL_USERNAME="常量";作品较好的

define和const之间的基本区别在于,const在编译时定义常量,而define((在运行时定义常量。

您的代码看起来不错。

相关内容

  • 没有找到相关文章