I have a simple website where customers can submit a form with some basic data and request a quote from a variety of suppliers. The form has several fields that I need to include in the body of the email (the content of these fields change every time the form is submitted).
In the end I would like to have the final email look something like:
/*
Good day [b]$supplier_name[/b]:
You have received a quote request:
Product A: [b]$product_a_quantities[/b]
Product B: [b]$product_b_quantities[/b]
Customer: [b]$customer_name[/b]
email: [b]$customer_email[/b]
Thank you.
*/
The email is sent and received as I want to, but I'm having trouble including several variables in the body field. I've searched several forum posts but I'm not sure if I should use the Decorator or if there's a simpler way to pull these variables into the body.
I'm still learning PHP and new to Swiftmailer, so I will greatly appreciate any input/direction.
<?php
[color=#0000FF]/* I have 17 variables coming from a separate form that's pointing to this php file. I'm showing only three variables here for simplicity.*/[/color]
$toemailprov = $_POST['toemailprov'];
$nomprov = $_POST['nomprov'];
$comentario = $_POST['comentario'];
require_once '../lib/swift_required.php';
$transport = Swift_SmtpTransport::newInstance('mail.******.com', 26)
->setUsername('*****')
->setPassword('*****')
;
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance()
->setSubject('Solicitud de cotización')
->setFrom(array('cotizaciones@******n.com' => 'Cotizaciones ******.com'))
->setTo(array($toemailprov))
->setBcc(array('info@******.com' => '******.com'))
->setBody('Gracias por utilizar el servicio de cotización en línea. Hemos enviado su solicitud a [b]$nompro[/b]v . A continuación el detalle:
- email: [b]$toemailprov[/b]
- comentario: [b]$comentario[/b]
Gracias por usar nuestro servicio.', 'text/plain');
$result = $mailer->send($message);
?>
[color=#0000FF]/*The content is much larger than what I include above, it has additional text + all variables in a list. The website is in spanish, you will see some words above in spanish. */[/color]
As I mentioned, the email works well, sent and received as expected, all content is showing when sent with the exception of the variables, which I don't know how to make them visible within the body.
Thanks and let me know if you would like to know any additional information.
So really, you just need to concatenate the variables into the email. PHP uses dots to concatentate two strings together, or to concatenate variables into a string.
You drop out of the string by throwing in a double (or single) quote to match the opening one, then add a dot (which just means "append") and then add whatever you want to append (be it a variable, or another string) and so on...