php swiftmailer的例子
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php swiftmailer的例子相关的知识,希望对你有一定的参考价值。
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>swiftmailer</title>
</head>
<body>
<br>
<form class="form-horizontal" action="mailer.php" method="post" enctype="multipart/form-data">
<input type="text" name="name" value="John Doe"><br><br>
<input type="email" name="email" type="text" value="qqq@gmail.com"><br><br>
<textarea name="message">default text</textarea><br><br>
<input type="file" name="file" multiple><br><br>
<button type="submit" name="submit">Send</button>
</form>
</body>
</html>
<?php
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
require_once 'composer/vendor/autoload.php';
// grab post data
if ($_SERVER['REQUEST_METHOD'] === 'POST' && !empty($_POST)) {
$name = filter_var($_POST['name'], FILTER_SANITIZE_STRING);
$email = filter_var($_POST['email'], FILTER_VALIDATE_EMAIL);
$message = filter_var($_POST['message'], FILTER_SANITIZE_STRING);
// create email body message
$body = "Name: " . $name . "<br/>" . "Email: " . $email . "<br/>" . "Message: " . $message;
// create the tranport
$transport =(new Swift_SmtpTransport('smtp.yandex.ru', 465, 'ssl'))
->setUsername('example@mail.ru')
->setPassword('---')
;
// create mailer
$mailer = new Swift_Mailer($transport);
$message = (new Swift_Message('Тема письма'))
->setFrom(['example@mail.ru' => 'Заголовок сообщения от кого']) //почта из $transport
->setTo(['to_example@mail.r' => 'A name']) //на какой ящик отправлять
->setBody($body, 'text/html') //тело письма и формат сообщение
;
//files start attachment
if (isset($_FILES['file']) && !empty($_FILES['file']['name'])) {
$now = date('d-m-h-i-s');
$fname = htmlspecialchars(mb_strtolower(trim((string)$_FILES['file']['name'])));
mkdir("uploads/" . $now);
$target_path = "uploads/$now/$fname";
move_uploaded_file($_FILES['file']['tmp_name'], $target_path);
$message->attach(Swift_Attachment::fromPath($target_path, $fname));
}
$mailer->send($message);
header("Location: index.php");
exit;
}
?>
以上是关于php swiftmailer的例子的主要内容,如果未能解决你的问题,请参考以下文章
使用 SwiftMailer 的 PHP 附件
PHP - 使用 STARTTLS 和自签名证书的 Swiftmailer
PHP SwiftMailer类
使用 Swiftmailer 的 PHP 驱动的 HTML 联系表单有多安全?
使用 php、gmail 和 swiftmailer 发送电子邮件会导致与 SSL 相关的错误
无法让sendmail与Windows上的Swiftmailer Bundle一起使用