本文整理汇总了PHP中Swift_Message::setReplyTo方法的典型用法代码示例。如果您正苦于以下问题:PHP Swift_Message::setReplyTo方法的具体用法?PHP Swift_Message::setReplyTo怎么用?PHP Swift_Message::setReplyTo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Swift_Message
的用法示例。
在下文中一共展示了Swift_Message::setReplyTo方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _swiftMail
protected function _swiftMail($to, $from, $subject, $message, $attachments = [], $html = true)
{
$mailer = $this->__getSwiftMailer($from);
if (is_array($to) && isset($to['email'])) {
if (isset($to['name'])) {
$to = [$to['email'] => $to['name']];
} else {
$to = $to['email'];
}
}
$mail = new \Swift_Message();
$mail->setSubject($subject)->setFrom($from['email'], $from['name'])->setTo($to);
if (isset($from['reply-to'])) {
if (is_array($from['reply-to']) && isset($from['email'])) {
$mail->setReplyTo($from['reply-to']['email'], $from['reply-to']['name']);
} else {
$mail->setReplyTo($from['reply-to']);
}
}
$mail->setBody($message, $html ? 'text/html' : 'text/plain');
foreach ($attachments as $attachment) {
$mail->attach(\Swift_Attachment::fromPath($attachment));
}
return $mailer->send($mail);
}
示例2: __construct
public function __construct()
{
parent::__construct();
$this->prependSiteTitle(lang('Recover log in'));
if ($this->isPostBack()) {
$this->post->email->addValidation(new ValidateInputNotNullOrEmpty());
if (!$this->hasErrors()) {
$user = ModelUser::getByUsername($this->input('email'));
if (!$user->hasRow()) {
$this->setMessage('No user found', 'warning');
response()->refresh();
}
if (!$this->hasErrors()) {
$reset = new UserReset($user->id);
$reset->save();
// TODO: Move this shit to seperate html template
$text = "Dear customer!\n\nYou are receiving this mail, because you (or someone else) has requested a password reset for your user on NinjaImg.com.\n\nTo continue with the password reset, please click the link below to confirm the reset:\n\n" . sprintf('https://%s/reset/%s', $_SERVER['HTTP_HOST'], $reset->key) . "\n\nIf you have any questions, feel free to contact us any time.\n\nKind regards,\nThe NinjaImg Team";
$transport = \Swift_SendmailTransport::newInstance(env('MAIL_TRANSPORT') . ' -bs');
$swift = \Swift_Mailer::newInstance($transport);
$message = new \Swift_Message(lang('Confirm password reset on NinjaImg'));
$message->setFrom(env('MAIL_FROM'));
$message->setSender(env('MAIL_FROM'));
$message->setReplyTo(env('MAIL_FROM'));
$message->setBody($text, 'text/plain');
$message->setTo($user->username);
$swift->send($message);
$this->setMessage('A password reset link has been sent to your e-mail', 'success');
// Send mail to user confirming reset...
// Maybe show message with text that are active even when session disappear
response()->refresh();
}
}
}
}
示例3: transformMessage
/**
* Creates a swift message from a ParsedMessage, handles defaults
*
* @param ParsedMessage $parsedMessage
*
* @return \Swift_Message
*/
protected function transformMessage(ParsedMessage $parsedMessage)
{
$message = new \Swift_Message();
if ($from = $parsedMessage->getFrom()) {
$message->setFrom($from);
}
// handle to with defaults
if ($to = $parsedMessage->getTo()) {
$message->setTo($to);
}
// handle cc with defaults
if ($cc = $parsedMessage->getCc()) {
$message->setCc($cc);
}
// handle bcc with defaults
if ($bcc = $parsedMessage->getBcc()) {
$message->setBcc($bcc);
}
// handle reply to with defaults
if ($replyTo = $parsedMessage->getReplyTo()) {
$message->setReplyTo($replyTo);
}
// handle subject with default
if ($subject = $parsedMessage->getSubject()) {
$message->setSubject($subject);
}
// handle body, no default values here
$message->setBody($parsedMessage->getMessageText());
if ($parsedMessage->getMessageHtml()) {
$message->addPart($parsedMessage->getMessageHtml(), 'text/html');
}
return $message;
}
示例4: fromWrappedMessage
/**
* @inheritDoc
*/
public static function fromWrappedMessage(MailWrappedMessage $wrappedMessage = null, $transport = null)
{
if (!$wrappedMessage instanceof MailWrappedMessage) {
throw new MailWrapperSetupException('Not MailWrappedMessage');
}
$message = new \Swift_Message();
foreach ($wrappedMessage->getToRecipients() as $address) {
$message->addTo($address);
}
foreach ($wrappedMessage->getCcRecipients() as $address) {
$message->addCc($address);
}
foreach ($wrappedMessage->getBccRecipients() as $address) {
$message->addBcc($address);
}
$message->setReplyTo($wrappedMessage->getReplyTo());
$message->setFrom($wrappedMessage->getFrom());
$message->setSubject($wrappedMessage->getSubject());
if ($wrappedMessage->getContentText()) {
$message->setBody($wrappedMessage->getContentText());
}
if ($wrappedMessage->getContentHtml()) {
$message->setBody($wrappedMessage->getContentHtml(), 'text/html');
}
return $message;
}
示例5: _mapToSwift
protected function _mapToSwift(SendGrid\Email $mail)
{
$message = new \Swift_Message($mail->getSubject());
/*
* Since we're sending transactional email, we want the message to go to one person at a time, rather
* than a bulk send on one message. In order to do this, we'll have to send the list of recipients through the headers
* but Swift still requires a 'to' address. So we'll falsify it with the from address, as it will be
* ignored anyway.
*/
$message->setTo($mail->to);
$message->setFrom($mail->getFrom(true));
$message->setCc($mail->getCcs());
$message->setBcc($mail->getBccs());
if ($mail->getHtml()) {
$message->setBody($mail->getHtml(), 'text/html');
if ($mail->getText()) {
$message->addPart($mail->getText(), 'text/plain');
}
} else {
$message->setBody($mail->getText(), 'text/plain');
}
if ($replyto = $mail->getReplyTo()) {
$message->setReplyTo($replyto);
}
$attachments = $mail->getAttachments();
//add any attachments that were added
if ($attachments) {
foreach ($attachments as $attachment) {
$message->attach(\Swift_Attachment::fromPath($attachment['file']));
}
}
$message_headers = $message->getHeaders();
$message_headers->addTextHeader("x-smtpapi", $mail->smtpapi->jsonString());
return $message;
}
示例6: __construct
public function __construct($key)
{
parent::__construct();
$newPassword = uniqid();
$reset = \Pecee\Model\User\UserReset::confirm($key, $newPassword);
if ($reset) {
$user = ModelUser::getById($reset);
if ($user->hasRow()) {
// Send mail with new password
// TODO: Move this shit to separate html template
$user->setEmailConfirmed(true);
$user->update();
$text = "Dear customer!\n\nWe've reset your password - you can login with your e-mail and the new password provided below:\nNew password: " . $newPassword . "\n\nIf you have any questions, feel free to contact us any time.\n\nKind regards,\nThe NinjaImg Team";
$transport = \Swift_SendmailTransport::newInstance(env('MAIL_TRANSPORT') . ' -bs');
$swift = \Swift_Mailer::newInstance($transport);
$message = new \Swift_Message(lang('New password for NinjaImg'));
$message->setFrom(env('MAIL_FROM'));
$message->setSender(env('MAIL_FROM'));
$message->setReplyTo(env('MAIL_FROM'));
$message->setBody($text, 'text/plain');
$message->setTo($user->username);
$swift->send($message);
$this->setMessage('A new password has been sent to your e-mail.', 'success');
redirect(url('user.login'));
}
redirect(url('home'));
}
}
示例7: send
/**
* {@inheritdoc}
*/
public function send($from, $to, $subject, $body, $replyTo = null, $attachments = [])
{
$message = new \Swift_Message($subject, $body);
// set from and to
$message->setFrom($from);
$message->setTo($to);
// set attachments
if (count($attachments) > 0) {
foreach ($attachments as $file) {
if ($file instanceof \SplFileInfo) {
$path = $file->getPathName();
$name = $file->getFileName();
// if uploadedfile get original name
if ($file instanceof UploadedFile) {
$name = $file->getClientOriginalName();
}
$message->attach(\Swift_Attachment::fromPath($path)->setFilename($name));
}
}
}
// set replyTo
if ($replyTo != null) {
$message->setReplyTo($replyTo);
}
return $this->mailer->send($message);
}
示例8: _mapToSwift
protected function _mapToSwift(Mail $mail)
{
$message = new \Swift_Message($mail->getSubject());
/*
* Since we're sending transactional email, we want the message to go to one person at a time, rather
* than a bulk send on one message. In order to do this, we'll have to send the list of recipients through the headers
* but Swift still requires a 'to' address. So we'll falsify it with the from address, as it will be
* ignored anyway.
*/
$message->setTo($mail->getFrom());
$message->setFrom($mail->getFrom(true));
$message->setCc($mail->getCcs());
$message->setBcc($mail->getBccs());
if ($mail->getHtml()) {
$message->setBody($mail->getHtml(), 'text/html');
if ($mail->getText()) {
$message->addPart($mail->getText(), 'text/plain');
}
} else {
$message->setBody($mail->getText(), 'text/plain');
}
if ($replyto = $mail->getReplyTo()) {
$message->setReplyTo($replyto);
}
// determine whether or not we can use SMTP recipients (non header based)
if ($mail->useHeaders()) {
//send header based email
$message->setTo($mail->getFrom());
//here we'll add the recipients list to the headers
$headers = $mail->getHeaders();
$headers['to'] = $mail->getTos();
$mail->setHeaders($headers);
} else {
$recipients = array();
foreach ($mail->getTos() as $recipient) {
if (preg_match("/(.*)<(.*)>/", $recipient, $results)) {
$recipients[trim($results[2])] = trim($results[1]);
} else {
$recipients[] = $recipient;
}
}
$message->setTo($recipients);
}
$attachments = $mail->getAttachments();
//add any attachments that were added
if ($attachments) {
foreach ($attachments as $attachment) {
$message->attach(\Swift_Attachment::fromPath($attachment['file']));
}
}
//add all the headers
$headers = $message->getHeaders();
$headers->addTextHeader('X-SMTPAPI', $mail->getHeadersJson());
return $message;
}
示例9: sendMail
function sendMail($mail, $subject, $text)
{
$transport = \Swift_SendmailTransport::newInstance(env('MAIL_TRANSPORT') . ' -bs');
$swift = \Swift_Mailer::newInstance($transport);
$message = new \Swift_Message($subject);
$message->setFrom(env('MAIL_FROM'));
$message->setSender(env('MAIL_FROM'));
$message->setReplyTo(env('MAIL_FROM'));
$message->setBody($text, 'text/plain');
$message->addTo($mail);
$swift->send($message);
}
示例10: send
/**
* send
*
* @return void
*/
public function send()
{
try {
$this->message = Swift_Message::newInstance()->setSubject($this->template->getSubject())->setCharset("utf-8");
switch ($this->type) {
case self::TYPE_PLAIN:
$this->message->setBody($this->template->getPlain(), 'text/plain');
break;
case self::TYPE_HTML:
$html_body = $this->template->getHtml();
if ($this->hasEmbedImage()) {
$html_body = $this->embedImages($html_body);
}
$this->message->setBody($html_body, 'text/html');
break;
case self::TYPE_BOTH:
default:
$html_body = $this->template->getHtml();
if ($this->hasEmbedImage()) {
$html_body = $this->embedImages($html_body);
}
$this->message->setBody($html_body, 'text/html');
$this->message->addPart($this->template->getPlain(), 'text/plain');
break;
}
if ($this->getAttribute('reply')) {
$this->message->setReplyTo($this->getAttribute('reply'));
}
$this->message->setFrom($this->getAttribute('from'))->setTo($this->getAttribute('to'));
$this->getMailer()->send($this->message);
} catch (Exception $exception) {
if ($this->getTransport() && $this->getTransport()->isStarted()) {
$this->disconnect();
}
throw $exception;
}
}
示例11: send
/**
* Send mail.
*
* @param array $from From address array('john@doe.com' => 'John Doe').
* @param array $to To address 'receiver@domain.org' or array('other@domain.org' => 'A name').
* @param string $subject Subject.
* @param string $body Content body.
* @param array $contentType Content type for body, default 'text/plain'.
* @param array $cc CC to, array('receiver@domain.org', 'other@domain.org' => 'A name').
* @param array $bcc BCC to, array('receiver@domain.org', 'other@domain.org' => 'A name').
* @param array $replyTo Reply to, array('receiver@domain.org', 'other@domain.org' => 'A name').
* @param mixed $altBody Alternate body.
* @param string $altBodyContentType Alternate content type default 'text/html'.
* @param array $header Associative array of headers array('header1' => 'value1', 'header2' => 'value2').
* @param array &$failedRecipients Array.
* @param string $charset Null means leave at default.
* @param array $attachments Array of files.
*
* @return integet
*/
function send(array $from, array $to, $subject, $body, $contentType = 'text/plain', array $cc=null, array $bcc=null, array $replyTo=null, $altBody = null, $altBodyContentType = 'text/html', array $header = array(), &$failedRecipients = array(), $charset=null, array $attachments=array())
{
$message = new Swift_Message($subject, $body, $contentType);
$message->setTo($to);
$message->setFrom($from);
if ($attachments) {
foreach ($attachments as $attachment) {
$message->attach(Swift_Attachment::fromPath($attachment));
}
}
if ($cc) {
$message->setCc($cc);
}
if ($bcc) {
$message->setBcc($bcc);
}
if ($replyTo) {
$message->setReplyTo($replyTo);
}
if ($charset) {
$message->setCharset($charset);
}
if ($altBody) {
$message->addPart($altBody, $altBodyContentType);
}
if ($headers) {
$headers = $message->getHeaders();
foreach ($headers as $key => $value) {
$headers->addTextHeader($key, $value);
}
}
if ($this->serviceManager['swiftmailer.preferences.sendmethod'] == 'normal') {
return $this->mailer->send($message, $failedRecipients);
} else if ($this->serviceManager['swiftmailer.preferences.sendmethod'] == 'single_recipient') {
return $this->mailer->sendBatch($message, $failedRecipients);
}
}
示例12: inviteUser
protected function inviteUser()
{
if ($this->input('email')) {
if ($this->currentUser->getRole() !== UserRole::TYPE_OWNER) {
$this->setError(lang('You dont have permissions to invite users'));
response()->refresh();
}
$this->post->email->addValidation([new ValidateInputNotNullOrEmpty(), new ValidateInputEmail()]);
$this->post->role->addValidation(new ValidateInputNotNullOrEmpty());
if (!$this->hasErrors()) {
$user = ModelUser::getByUsername($this->input('email'));
if ($user->hasRow() && $user->hasAccess($this->activeOrganisation->id)) {
if ($user->getRole() === $this->input('role')) {
$this->setMessage(lang('The user already has access to this organisation'), 'danger');
} else {
$user->setRole($this->input('role'));
$this->setMessage(lang('The role has been updated'), 'success');
// TODO: sent mail notifying about role-change
}
response()->refresh();
}
// Save invitation
$invitation = new OrganisationInvite();
$invitation->user_id = $this->currentUser->id;
$invitation->email = $this->input('email');
$invitation->organisation_id = $this->activeOrganisation->id;
$invitation->role = $this->input('role');
$invitation->save();
// This point we send out a confirmation mail to accept the organisation invite.
// TODO: move this shit to separate template
$transport = \Swift_SendmailTransport::newInstance(env('MAIL_TRANSPORT') . ' -bs');
$swift = \Swift_Mailer::newInstance($transport);
$message = new \Swift_Message(lang('Invite to join ' . $this->activeOrganisation->name . ' on NinjaImg'));
$message->setFrom(env('MAIL_FROM'));
$message->setSender(env('MAIL_FROM'));
$message->setReplyTo(env('MAIL_FROM'));
$message->setBody("Dear customer!\n\n{$this->currentUser->data->name} has invited you to join the organisation {$this->activeOrganisation->name} on NinjaImg!\n\nClick on the link below to accept the invite:\nhttps://{$_SERVER['HTTP_HOST']}" . url('user.register') . "?email=" . $this->input('email') . "\n\nIf you have any questions, feel free to contact us any time.\n\nKind regards,\nThe NinjaImg Team", 'text/plain');
$message->setTo($this->input('email'));
$swift->send($message);
$this->setMessage('An invite has been sent to the user.', 'success');
}
}
}
示例13: sendCustomerMail
protected function sendCustomerMail(OrganisationInvoice $invoice)
{
$users = ModelUser::getByOrganisationId($this->organisation->id, UserRole::TYPE_OWNER);
if ($users->hasRows()) {
foreach ($users as $user) {
$transport = \Swift_SendmailTransport::newInstance(env('MAIL_TRANSPORT') . ' -bs');
$swift = \Swift_Mailer::newInstance($transport);
$message = new \Swift_Message(lang('New invoice available for ' . $this->organisation->name));
$currency = ModelSettings::getInstance()->data->default_currency_character;
$message->setFrom(env('MAIL_FROM'));
$message->setSender(env('MAIL_FROM'));
$message->setReplyTo(env('MAIL_FROM'));
$message->setBody("Dear {$user->data->name}!\n\nAttached is the latest invoice from NinjaImg.\n\nThe amount for invoice {$invoice->invoice_id} is {$invoice->amount_total}{$currency} with payment date {$invoice->due_date}.\n\nYou can always view your invoices at your controlpanel on ninjaimg.com.\n\nThanks for supporting our service, we really appreciate it!\n\nIf you have any questions, feel free to contact us any time.\n\nKind regards,\nThe NinjaImg Team", 'text/plain');
$message->setTo($user->username);
$attachment = new \Swift_Attachment(file_get_contents($invoice->path), basename($invoice->path), File::getMime($invoice->path));
$message->attach($attachment);
$swift->send($message);
}
}
}
示例14: array
//.........这里部分代码省略.........
Swift_ClassLoader::load('Swift_Connection_Multi');
Swift_ClassLoader::load('Swift_Connection_SMTP');
$pool = new Swift_Connection_Multi();
// first choose method
if ($fs->prefs['smtp_server']) {
$split = explode(':', $fs->prefs['smtp_server']);
$port = null;
if (count($split) == 2) {
$fs->prefs['smtp_server'] = $split[0];
$port = $split[1];
}
// connection... SSL, TLS or none
if ($fs->prefs['email_ssl']) {
$smtp = new Swift_Connection_SMTP($fs->prefs['smtp_server'], $port ? $port : SWIFT_SMTP_PORT_SECURE, SWIFT_SMTP_ENC_SSL);
} else {
if ($fs->prefs['email_tls']) {
$smtp = new Swift_Connection_SMTP($fs->prefs['smtp_server'], $port ? $port : SWIFT_SMTP_PORT_SECURE, SWIFT_SMTP_ENC_TLS);
} else {
$smtp = new Swift_Connection_SMTP($fs->prefs['smtp_server'], $port);
}
}
if ($fs->prefs['smtp_user']) {
$smtp->setUsername($fs->prefs['smtp_user']);
$smtp->setPassword($fs->prefs['smtp_pass']);
}
if (defined('FS_SMTP_TIMEOUT')) {
$smtp->setTimeout(FS_SMTP_TIMEOUT);
}
$pool->addConnection($smtp);
} else {
Swift_ClassLoader::load('Swift_Connection_NativeMail');
// a connection to localhost smtp server as fallback, discarded if there is no such thing available.
$pool->addConnection(new Swift_Connection_SMTP());
$pool->addConnection(new Swift_Connection_NativeMail());
}
$swift = new Swift($pool);
if (isset($data['task_id'])) {
$swift->attachPlugin(new NotificationsThread($data['task_id'], $emails, $db), 'MessageThread');
}
if (defined('FS_MAIL_DEBUG')) {
$swift->log->enable();
Swift_ClassLoader::load('Swift_Plugin_VerboseSending');
$view = new Swift_Plugin_VerboseSending_DefaultView();
$swift->attachPlugin(new Swift_Plugin_VerboseSending($view), "verbose");
}
$message = new Swift_Message($subject, $body);
// check for reply-to
if (isset($data['project']) && $data['project']->prefs['notify_reply']) {
$message->setReplyTo($data['project']->prefs['notify_reply']);
}
if (isset($data['project']) && isset($data['project']->prefs['bounce_address'])) {
$message->setReturnPath($data['project']->prefs['bounce_address']);
}
$message->headers->setCharset('utf-8');
$message->headers->set('Precedence', 'list');
$message->headers->set('X-Mailer', 'Flyspray');
// Add custom headers, possibly
if (isset($data['headers'])) {
$headers = array_map('trim', explode("\n", $data['headers']));
if ($headers = array_filter($headers)) {
foreach ($headers as $header) {
list($name, $value) = explode(':', $header);
$message->headers->set(sprintf('X-Flyspray-%s', $name), $value);
}
}
}
$recipients = new Swift_RecipientList();
$recipients->addTo($emails);
// && $result purpose: if this has been set to false before, it should never become true again
// to indicate an error
$result = $swift->batchSend($message, $recipients, $fs->prefs['admin_email']) === count($emails) && $result;
if (isset($data['task_id'])) {
$plugin =& $swift->getPlugin('MessageThread');
if (count($plugin->thread_info)) {
$stmt = $db->x->autoPrepare('{notification_threads}', array('task_id', 'recipient_id', 'message_id'));
$db->x->executeMultiple($stmt, $plugin->thread_info);
$stmt->free();
}
}
$swift->disconnect();
}
if (count($jids)) {
$jids = array_unique($jids);
if (!$fs->prefs['jabber_username'] || !$fs->prefs['jabber_password']) {
return $result;
}
// nothing that can't be guessed correctly ^^
if (!$fs->prefs['jabber_port']) {
$fs->prefs['jabber_port'] = 5222;
}
require_once 'class.jabber2.php';
$jabber = new Jabber($fs->prefs['jabber_username'], $fs->prefs['jabber_password'], $fs->prefs['jabber_security'], $fs->prefs['jabber_port'], $fs->prefs['jabber_server']);
$jabber->SetResource('flyspray');
$jabber->login();
foreach ($jids as $jid) {
$result = $jabber->send_message($jid, $body, $subject, 'normal') && $result;
}
}
return $result;
}
示例15: SendEmail
function SendEmail($to, $subject, $body, $task_id = null)
{
global $fs, $proj, $user;
if (empty($to) || empty($to[0])) {
return;
}
// Do we want to use a remote mail server?
if (!empty($fs->prefs['smtp_server'])) {
// connection... SSL, TLS or none
if ($fs->prefs['email_tls']) {
$swiftconn = Swift_SmtpTransport::newInstance($fs->prefs['smtp_server'], 587, 'tls');
} else {
if ($fs->prefs['email_ssl']) {
$swiftconn = Swift_SmtpTransport::newInstance($fs->prefs['smtp_server'], 465, 'ssl');
} else {
$swiftconn = Swift_SmtpTransport::newInstance($fs->prefs['smtp_server']);
}
}
if ($fs->prefs['smtp_user']) {
$swiftconn->setUsername($fs->prefs['smtp_user']);
}
if ($fs->prefs['smtp_pass']) {
$swiftconn->setPassword($fs->prefs['smtp_pass']);
}
if (defined('FS_SMTP_TIMEOUT')) {
$swiftconn->setTimeout(FS_SMTP_TIMEOUT);
}
// Use php's built-in mail() function
} else {
$swiftconn = Swift_MailTransport::newInstance();
}
if (defined('FS_MAIL_LOGFILE')) {
// FIXME: Swift_LogContainer exists no more???
// See http://swiftmailer.org/docs/plugins.html#logger-plugin
// for the new implementation.
// $log = Swift_LogContainer::getLog();
// $log->setLogLevel(SWIFT_LOG_EVERYTHING);
}
// Make plaintext URLs into hyperlinks, but don't disturb existing ones!
$htmlbody = preg_replace("/(?<!\")(https?:\\/\\/)([a-zA-Z0-9\\-.]+\\.[a-zA-Z0-9\\-]+([\\/]([a-zA-Z0-9_\\/\\-.?&%=+#])*)*)/", '<a href="$1$2">$2</a>', $body);
$htmlbody = str_replace("\n", "<br>", $htmlbody);
// Those constants used were introduced in 5.4.
if (version_compare(phpversion(), '5.4.0', '<')) {
$plainbody = html_entity_decode(strip_tags($body));
} else {
$plainbody = html_entity_decode(strip_tags($body), ENT_COMPAT | ENT_HTML401, 'utf-8');
}
$swift = Swift_Mailer::newInstance($swiftconn);
$message = new Swift_Message($subject);
if (isset($fs->prefs['emailNoHTML']) && $fs->prefs['emailNoHTML'] == '1') {
$message->setBody($plainbody, 'text/plain');
} else {
$message->setBody($htmlbody, 'text/html');
$message->addPart($plainbody, 'text/plain');
}
$type = $message->getHeaders()->get('Content-Type');
$type->setParameter('charset', 'utf-8');
$message->getHeaders()->addTextHeader('Precedence', 'list');
$message->getHeaders()->addTextHeader('X-Mailer', 'Flyspray');
if ($proj->prefs['notify_reply']) {
$message->setReplyTo($proj->prefs['notify_reply']);
}
if (isset($task_id)) {
$hostdata = parse_url($GLOBALS['baseurl']);
$inreplyto = sprintf('<FS%d@%s>', $task_id, $hostdata['host']);
// see http://cr.yp.to/immhf/thread.html this does not seems to work though :(
$message->getHeaders()->addTextHeader('In-Reply-To', $inreplyto);
$message->getHeaders()->addTextHeader('References', $inreplyto);
}
// now accepts string , array or Swift_Address.
$message->setTo($to);
$message->setFrom(array($fs->prefs['admin_email'] => $proj->prefs['project_title']));
$swift->send($message);
/* FIXME: Swift_LogContainer exists no more???
if(defined('FS_MAIL_LOGFILE')) {
if(is_writable(dirname(FS_MAIL_LOGFILE))) {
if($fh = fopen(FS_MAIL_LOGFILE, 'ab')) {
fwrite($fh, $log->dump(true));
fwrite($fh, php_uname());
fclose($fh);
}
}
}
*/
return true;
}