Jump to content

Pdf Standaard Aan Mail Toevoegen


bouncecloud

Recommended Posts

Beste mede-Nederlandstaligen, :)

 

Ik ben sinds kort bezig met het vervaardigen van een shop in Prestashop. Hiervoor heb ik op WooCommerce gezeten. Prestashop biedt dan wel even wat meer, bij WooCommerce liep ik tegen wat barrières op.

 

Ik zit mij al een middag rot te zoeken naar een oplossing voor het volgende probleem: hoe voeg ik een PDF invoice toe aan mijn bevestigingsmail?

De PDF wordt wel gecreëerd door Prestashop, dit is geen probleem. Echter, bij geen enkele order-status wordt de PDF-invoice ook daadwerkelijk meegezonden door Prestashop.

 

De Nederlandse wet verplicht dat je de klant een orderbevestiging stuurt en dat je ze ook schriftelijk informeert over de wettelijke bedenktijd. Dit kan prima met de PDF-invoice, maar dan moet ik Prestashop wel zover krijgen dat hij deze ook meestuurt met de mail als bijlage.

 

Verschillende topics hebben deze vraag (in het Engels welliswaar), maar een echt antwoord heb ik niet kunnen vinden. Twee jaar geleden heeft iemand voor PS 1.3 de code aangepast, maar deze werkt helaas niet voor de PS waar ik op zit. Mijn PS-versie stuurt dan wel de PDF-invoice mee met de mail, maar de invoice is echter leeg.

Ik ben wel een module hiervoor tegengekomen. Deze is $99 en dat vind ik nogal prijzig voor zoiets 'ogenschijnlijk simpels'.

 

Ik kan mij niet voorstellen dat ik de enige ben. Vooral door de Wettelijke verplichting voor informatieverlening in NL. Weet iemand een oplossing, of hoe gaan de NL-winkeliers hier mee om?

 

Mijn PS-versie is: 1.5.3.1

 

Alvast dank,

 

BC

Link to comment
Share on other sites

Die staan aangevinkt. Maar die opties zorgen ervoor dat PrestaShop een PDF-factuur genereert. In het bestellingsoverzicht zie ik de PDF-factuur ook netjes staan en deze kan ik ook bekijken.

 

Ik wil echter dat PrestaShop deze PDF-factuur ook standaard bij de e-mail voegt als bijlage. Op dit moment krijgt de klant namelijk geen factuur in PDF toegestuurd.

Link to comment
Share on other sites

Ik krijg alle e-mails; orderbevestiging, u heeft betaald, etc... Er zitten echter geen bijlagen bij de e-mail; dat is juist het probleem. Ik heb alle configuraties al nagelopen, maar er is ook nergens een optie om de PDF-invoice als bijlage bij e-mails te doen.

Overigens is dit al de 4e PS installatie op 2 verschillende hosts. Ook bij complete 'clean' installaties werkt het niet.

 

 

Link to comment
Share on other sites

Ik snap er echt even niets van... Heb weer een nieuwe 'clean' install gedaan, maar dit keer een ander e-mail adres gekozen. Geen Gmail, maar mijn admin adres van de host.

 

En waarempel! Nu krijg ik opeens wel een invoice toegestuurd via de mail. Hij zit netjes in de bijlage. Ik snap er echt niets van. Enfin; blij dat het dus wel kan werken. Alleen raar dat hij bij mijn Gmail adres dus niets doet.

Link to comment
Share on other sites

Er hoeft niks , standaard gebeuren.

 

Als je in de map mails bv bestand > password.html en hier

 

 

<tr>
<td align="left"><a title="{shop_name}" href="{shop_url}"><img style="border: none;" src="{shop_logo}" alt="{shop_name}" /></a></td>
</tr>

 

uithaalt , ben je er vanaf.

Link to comment
Share on other sites

Er hoeft niks , standaard gebeuren.

 

Als je in de map mails bv bestand > password.html en hier

 

 

<tr>
<td align="left"><a title="{shop_name}" href="{shop_url}"><img style="border: none;" src="{shop_logo}" alt="{shop_name}" /></a></td>
</tr>

 

uithaalt , ben je er vanaf.

 

hallo,

 

bedankt, maar wanneer ik die ene regel weghaalt. Haalt die dan ook de logo van template mail eraf of alleen de bijlage die mee wordt gestuurd?

 

groeten

Link to comment
Share on other sites

hallo,

 

bedankt, maar wanneer ik die ene regel weghaalt. Haalt die dan ook de logo van template mail eraf of alleen de bijlage die mee wordt gestuurd?

 

groeten

 

Je hebt een logo in de E-mail > waar jij van spreekt in post 10 > Dit is de afb. in de kop van je E-mail.

 

En er kan een bijlage bijzitten (attachment) meestal een PDF.

Link to comment
Share on other sites

Je hebt een logo in de E-mail > waar jij van spreekt in post 10 > Dit is de afb. in de kop van je E-mail.

 

En er kan een bijlage bijzitten (attachment) meestal een PDF.

Dat is niet helemaal correct, standaard worden in de mailtjes het logo ingevoegd door middel van een inline attachment. De jpeg afbeelding van het logo word als attachment meegestuurd en vervolgens inline weergegeven.
Link to comment
Share on other sites

jah, dat bedoel ik.

Mocht je dit gedrag er uit willen slopen.

Naast de door Frens voorgestelde wijzigingen van de mailtemplates dient het invoegen van de attachment te worden verwijderd.

Deze word ingevoegd in /classes/Mail.php functie Send.

Beste methode is door een override aan te maken in /override/classes/Mail.php met een kopie van de complete Send functie en daar de regels die zorgen voor de attachment weg te commenten met de "//"-tekens

Bijvoorbeeld in PS1.5.2


/**
* Send Email
* 
* @param int $id_lang Language of the email (to translate the template)
* @param string $template Template: the name of template not be a var but a string !
* @param string $subject
* @param string $template_vars
* @param string $to
* @param string $to_name
* @param string $from
* @param string $from_name
* @param array $file_attachment Array with three parameters (content, mime and name). You can use an array of array to attach multiple files
* @param bool $modeSMTP
* @param string $template_path
* @param bool $die
*/
public static function Send($id_lang, $template, $subject, $template_vars, $to,
$to_name = null, $from = null, $from_name = null, $file_attachment = null, $mode_smtp = null, $template_path = _PS_MAIL_DIR_, $die = false, $id_shop = null)
{
$theme_path = _PS_THEME_DIR_;

// Get the path of theme by id_shop if exist
if (is_numeric($id_shop) && $id_shop)
{
$shop = new Shop((int)$id_shop);
$theme_name = $shop->getTheme();

if (_THEME_NAME_ != $theme_name)
$theme_path = _PS_ROOT_DIR_.'/themes/'.$theme_name.'/';
}

$configuration = Configuration::getMultiple(array(
'PS_SHOP_EMAIL',
'PS_MAIL_METHOD',
'PS_MAIL_SERVER',
'PS_MAIL_USER',
'PS_MAIL_PASSWD',
'PS_SHOP_NAME',
'PS_MAIL_SMTP_ENCRYPTION',
'PS_MAIL_SMTP_PORT',
'PS_MAIL_METHOD',
'PS_MAIL_TYPE'
));

if (!isset($configuration['PS_MAIL_SMTP_ENCRYPTION']))
$configuration['PS_MAIL_SMTP_ENCRYPTION'] = 'off';
if (!isset($configuration['PS_MAIL_SMTP_PORT']))
$configuration['PS_MAIL_SMTP_PORT'] = 'default';

// Sending an e-mail can be of vital importance for the merchant, when his password is lost for example, so we must not die but do our best to send the e-mail
if (!isset($from) || !Validate::isEmail($from))
$from = $configuration['PS_SHOP_EMAIL'];
if (!Validate::isEmail($from))
$from = null;

// $from_name is not that important, no need to die if it is not valid
if (!isset($from_name) || !Validate::isMailName($from_name))
$from_name = $configuration['PS_SHOP_NAME'];
if (!Validate::isMailName($from_name))
$from_name = null;

// It would be difficult to send an e-mail if the e-mail is not valid, so this time we can die if there is a problem
if (!is_array($to) && !Validate::isEmail($to))
{
Tools::dieOrLog(Tools::displayError('Error: parameter "to" is corrupted'), $die);
return false;
}

if (!is_array($template_vars))
$template_vars = array();

// Do not crash for this error, that may be a complicated customer name
if (is_string($to_name) && !empty($to_name) && !Validate::isMailName($to_name))
$to_name = null;

if (!Validate::isTplName($template))
{
Tools::dieOrLog(Tools::displayError('Error: invalid e-mail template'), $die);
return false;
}

if (!Validate::isMailSubject($subject))
{
Tools::dieOrLog(Tools::displayError('Error: invalid e-mail subject'), $die);
return false;
}

/* Construct multiple recipients list if needed */
if (is_array($to) && isset($to))
{
$to_list = new Swift_RecipientList();
foreach ($to as $key => $addr)
{
$to_name = null;
$addr = trim($addr);
if (!Validate::isEmail($addr))
{
Tools::dieOrLog(Tools::displayError('Error: invalid e-mail address'), $die);
return false;
}
if (is_array($to_name))
{
if ($to_name && is_array($to_name) && Validate::isGenericName($to_name[$key]))
$to_name = $to_name[$key];
}
if ($to_name == null)
$to_name = $addr;
/* Encode accentuated chars */
$to_list->addTo($addr, '=?UTF-8?B?'.base64_encode($to_name).'?=');
}
$to_plugin = $to[0];
$to = $to_list;
} else {
/* Simple recipient, one address */
$to_plugin = $to;
if ($to_name == null)
$to_name = $to;
$to = new Swift_Address($to, '=?UTF-8?B?'.base64_encode($to_name).'?=');
}
try {
/* Connect with the appropriate configuration */
if ($configuration['PS_MAIL_METHOD'] == 2)
{
if (empty($configuration['PS_MAIL_SERVER']) || empty($configuration['PS_MAIL_SMTP_PORT']))
{
Tools::dieOrLog(Tools::displayError('Error: invalid SMTP server or SMTP port'), $die);
return false;
}
$connection = new Swift_Connection_SMTP($configuration['PS_MAIL_SERVER'], $configuration['PS_MAIL_SMTP_PORT'],
($configuration['PS_MAIL_SMTP_ENCRYPTION'] == 'ssl') ? Swift_Connection_SMTP::ENC_SSL :
(($configuration['PS_MAIL_SMTP_ENCRYPTION'] == 'tls') ? Swift_Connection_SMTP::ENC_TLS : Swift_Connection_SMTP::ENC_OFF));
$connection->setTimeout(4);
if (!$connection)
return false;
if (!empty($configuration['PS_MAIL_USER']))
$connection->setUsername($configuration['PS_MAIL_USER']);
if (!empty($configuration['PS_MAIL_PASSWD']))
$connection->setPassword($configuration['PS_MAIL_PASSWD']);
}
else
$connection = new Swift_Connection_NativeMail();

if (!$connection)
return false;
$swift = new Swift($connection, Configuration::get('PS_MAIL_DOMAIN'));
/* Get templates content */
$iso = Language::getIsoById((int)$id_lang);
if (!$iso)
{
Tools::dieOrLog(Tools::displayError('Error - No ISO code for email'), $die);
return false;
}
$template = $iso.'/'.$template;

$module_name = false;
$override_mail = false;

// get templatePath
if (preg_match('#'.__PS_BASE_URI__.'modules/#', $template_path) && preg_match('#modules/([a-z0-9_-]+)/#ui', $template_path, $res))
$module_name = $res[1];

if ($module_name !== false && (file_exists($theme_path.'modules/'.$module_name.'/mails/'.$template.'.txt') ||
file_exists($theme_path.'modules/'.$module_name.'/mails/'.$template.'.html')))
$template_path = $theme_path.'modules/'.$module_name.'/mails/';
else if (file_exists($theme_path.'mails/'.$template.'.txt') || file_exists($theme_path.'mails/'.$template.'.html'))
{
$template_path = $theme_path.'mails/';
$override_mail  = true;
}
else if (!file_exists($template_path.$template.'.txt') || !file_exists($template_path.$template.'.html'))
{
Tools::dieOrLog(Tools::displayError('Error - The following e-mail template is missing:').' '.$template_path.$template.'.txt', $die);
return false;
}
$template_html = file_get_contents($template_path.$template.'.html');
$template_txt = strip_tags(html_entity_decode(file_get_contents($template_path.$template.'.txt'), null, 'utf-8'));

if ($override_mail && file_exists($template_path.$iso.'/lang.php'))
include_once($template_path.$iso.'/lang.php');
else if ($module_name && file_exists($template_path.$iso.'/lang.php'))
include_once($theme_path.'mails/'.$iso.'/lang.php');
else
include_once(dirname(__FILE__).'/../mails/'.$iso.'/lang.php');

/* Create mail and attach differents parts */
$message = new Swift_Message('['.Configuration::get('PS_SHOP_NAME').'] '.$subject);
$message->headers->setEncoding('Q');

if (Configuration::get('PS_LOGO_MAIL') !== false && file_exists(_PS_IMG_DIR_.Configuration::get('PS_LOGO_MAIL')))
$template_vars['{shop_logo}'] = $message->attach(new Swift_Message_Image(new Swift_File(_PS_IMG_DIR_.Configuration::get('PS_LOGO_MAIL'))));
else
if (file_exists(_PS_IMG_DIR_.'logo.jpg'))
$template_vars['{shop_logo}'] = $message->attach(new Swift_Message_Image(new Swift_File(_PS_IMG_DIR_.Configuration::get('PS_LOGO'))));
else
$template_vars['{shop_logo}'] = '';

$template_vars['{shop_name}'] = Tools::safeOutput(Configuration::get('PS_SHOP_NAME'));
$template_vars['{shop_url}'] = Tools::getShopDomain(true, true).__PS_BASE_URI__.'index.php';
$template_vars['{my_account_url}'] = Context::getContext()->link->getPageLink('my-account', true, Context::getContext()->language->id);
$template_vars['{guest_tracking_url}'] = Context::getContext()->link->getPageLink('guest-tracking', true, Context::getContext()->language->id);
$template_vars['{history_url}'] = Context::getContext()->link->getPageLink('history', true, Context::getContext()->language->id);
$swift->attachPlugin(new Swift_Plugin_Decorator(array($to_plugin => $template_vars)), 'decorator');
if ($configuration['PS_MAIL_TYPE'] == Mail::TYPE_BOTH || $configuration['PS_MAIL_TYPE'] == Mail::TYPE_TEXT)
$message->attach(new Swift_Message_Part($template_txt, 'text/plain', '8bit', 'utf-8'));
if ($configuration['PS_MAIL_TYPE'] == Mail::TYPE_BOTH || $configuration['PS_MAIL_TYPE'] == Mail::TYPE_HTML)
$message->attach(new Swift_Message_Part($template_html, 'text/html', '8bit', 'utf-8'));
if ($file_attachment && !empty($file_attachment))
{
// Multiple attachments?
if (!is_array(current($file_attachment)))
$file_attachment = array($file_attachment);

foreach ($file_attachment as $attachment)
if (isset($attachment['content']) && isset($attachment['name']) && isset($attachment['mime']))
$message->attach(new Swift_Message_Attachment($attachment['content'], $attachment['name'], $attachment['mime']));
}
/* Send mail */
$send = $swift->send($message, $to, new Swift_Address($from, $from_name));
$swift->disconnect();
return $send;
}
catch (Swift_Exception $e) {
return false;
}
}

 

word dan


/**
* Send Email
* 
* @param int $id_lang Language of the email (to translate the template)
* @param string $template Template: the name of template not be a var but a string !
* @param string $subject
* @param string $template_vars
* @param string $to
* @param string $to_name
* @param string $from
* @param string $from_name
* @param array $file_attachment Array with three parameters (content, mime and name). You can use an array of array to attach multiple files
* @param bool $modeSMTP
* @param string $template_path
* @param bool $die
*/
public static function Send($id_lang, $template, $subject, $template_vars, $to,
$to_name = null, $from = null, $from_name = null, $file_attachment = null, $mode_smtp = null, $template_path = _PS_MAIL_DIR_, $die = false, $id_shop = null)
{
$theme_path = _PS_THEME_DIR_;

// Get the path of theme by id_shop if exist
if (is_numeric($id_shop) && $id_shop)
{
$shop = new Shop((int)$id_shop);
$theme_name = $shop->getTheme();

if (_THEME_NAME_ != $theme_name)
$theme_path = _PS_ROOT_DIR_.'/themes/'.$theme_name.'/';
}

$configuration = Configuration::getMultiple(array(
'PS_SHOP_EMAIL',
'PS_MAIL_METHOD',
'PS_MAIL_SERVER',
'PS_MAIL_USER',
'PS_MAIL_PASSWD',
'PS_SHOP_NAME',
'PS_MAIL_SMTP_ENCRYPTION',
'PS_MAIL_SMTP_PORT',
'PS_MAIL_METHOD',
'PS_MAIL_TYPE'
));

if (!isset($configuration['PS_MAIL_SMTP_ENCRYPTION']))
$configuration['PS_MAIL_SMTP_ENCRYPTION'] = 'off';
if (!isset($configuration['PS_MAIL_SMTP_PORT']))
$configuration['PS_MAIL_SMTP_PORT'] = 'default';

// Sending an e-mail can be of vital importance for the merchant, when his password is lost for example, so we must not die but do our best to send the e-mail
if (!isset($from) || !Validate::isEmail($from))
$from = $configuration['PS_SHOP_EMAIL'];
if (!Validate::isEmail($from))
$from = null;

// $from_name is not that important, no need to die if it is not valid
if (!isset($from_name) || !Validate::isMailName($from_name))
$from_name = $configuration['PS_SHOP_NAME'];
if (!Validate::isMailName($from_name))
$from_name = null;

// It would be difficult to send an e-mail if the e-mail is not valid, so this time we can die if there is a problem
if (!is_array($to) && !Validate::isEmail($to))
{
Tools::dieOrLog(Tools::displayError('Error: parameter "to" is corrupted'), $die);
return false;
}

if (!is_array($template_vars))
$template_vars = array();

// Do not crash for this error, that may be a complicated customer name
if (is_string($to_name) && !empty($to_name) && !Validate::isMailName($to_name))
$to_name = null;

if (!Validate::isTplName($template))
{
Tools::dieOrLog(Tools::displayError('Error: invalid e-mail template'), $die);
return false;
}

if (!Validate::isMailSubject($subject))
{
Tools::dieOrLog(Tools::displayError('Error: invalid e-mail subject'), $die);
return false;
}

/* Construct multiple recipients list if needed */
if (is_array($to) && isset($to))
{
$to_list = new Swift_RecipientList();
foreach ($to as $key => $addr)
{
$to_name = null;
$addr = trim($addr);
if (!Validate::isEmail($addr))
{
Tools::dieOrLog(Tools::displayError('Error: invalid e-mail address'), $die);
return false;
}
if (is_array($to_name))
{
if ($to_name && is_array($to_name) && Validate::isGenericName($to_name[$key]))
$to_name = $to_name[$key];
}
if ($to_name == null)
$to_name = $addr;
/* Encode accentuated chars */
$to_list->addTo($addr, '=?UTF-8?B?'.base64_encode($to_name).'?=');
}
$to_plugin = $to[0];
$to = $to_list;
} else {
/* Simple recipient, one address */
$to_plugin = $to;
if ($to_name == null)
$to_name = $to;
$to = new Swift_Address($to, '=?UTF-8?B?'.base64_encode($to_name).'?=');
}
try {
/* Connect with the appropriate configuration */
if ($configuration['PS_MAIL_METHOD'] == 2)
{
if (empty($configuration['PS_MAIL_SERVER']) || empty($configuration['PS_MAIL_SMTP_PORT']))
{
Tools::dieOrLog(Tools::displayError('Error: invalid SMTP server or SMTP port'), $die);
return false;
}
$connection = new Swift_Connection_SMTP($configuration['PS_MAIL_SERVER'], $configuration['PS_MAIL_SMTP_PORT'],
($configuration['PS_MAIL_SMTP_ENCRYPTION'] == 'ssl') ? Swift_Connection_SMTP::ENC_SSL :
(($configuration['PS_MAIL_SMTP_ENCRYPTION'] == 'tls') ? Swift_Connection_SMTP::ENC_TLS : Swift_Connection_SMTP::ENC_OFF));
$connection->setTimeout(4);
if (!$connection)
return false;
if (!empty($configuration['PS_MAIL_USER']))
$connection->setUsername($configuration['PS_MAIL_USER']);
if (!empty($configuration['PS_MAIL_PASSWD']))
$connection->setPassword($configuration['PS_MAIL_PASSWD']);
}
else
$connection = new Swift_Connection_NativeMail();

if (!$connection)
return false;
$swift = new Swift($connection, Configuration::get('PS_MAIL_DOMAIN'));
/* Get templates content */
$iso = Language::getIsoById((int)$id_lang);
if (!$iso)
{
Tools::dieOrLog(Tools::displayError('Error - No ISO code for email'), $die);
return false;
}
$template = $iso.'/'.$template;

$module_name = false;
$override_mail = false;

// get templatePath
if (preg_match('#'.__PS_BASE_URI__.'modules/#', $template_path) && preg_match('#modules/([a-z0-9_-]+)/#ui', $template_path, $res))
$module_name = $res[1];

if ($module_name !== false && (file_exists($theme_path.'modules/'.$module_name.'/mails/'.$template.'.txt') ||
file_exists($theme_path.'modules/'.$module_name.'/mails/'.$template.'.html')))
$template_path = $theme_path.'modules/'.$module_name.'/mails/';
else if (file_exists($theme_path.'mails/'.$template.'.txt') || file_exists($theme_path.'mails/'.$template.'.html'))
{
$template_path = $theme_path.'mails/';
$override_mail  = true;
}
else if (!file_exists($template_path.$template.'.txt') || !file_exists($template_path.$template.'.html'))
{
Tools::dieOrLog(Tools::displayError('Error - The following e-mail template is missing:').' '.$template_path.$template.'.txt', $die);
return false;
}
$template_html = file_get_contents($template_path.$template.'.html');
$template_txt = strip_tags(html_entity_decode(file_get_contents($template_path.$template.'.txt'), null, 'utf-8'));

if ($override_mail && file_exists($template_path.$iso.'/lang.php'))
include_once($template_path.$iso.'/lang.php');
else if ($module_name && file_exists($template_path.$iso.'/lang.php'))
include_once($theme_path.'mails/'.$iso.'/lang.php');
else
include_once(dirname(__FILE__).'/../mails/'.$iso.'/lang.php');

/* Create mail and attach differents parts */
$message = new Swift_Message('['.Configuration::get('PS_SHOP_NAME').'] '.$subject);
$message->headers->setEncoding('Q');

// if (Configuration::get('PS_LOGO_MAIL') !== false && file_exists(_PS_IMG_DIR_.Configuration::get('PS_LOGO_MAIL')))
// $template_vars['{shop_logo}'] = $message->attach(new Swift_Message_Image(new Swift_File(_PS_IMG_DIR_.Configuration::get('PS_LOGO_MAIL'))));
// else
// if (file_exists(_PS_IMG_DIR_.'logo.jpg'))
// $template_vars['{shop_logo}'] = $message->attach(new Swift_Message_Image(new Swift_File(_PS_IMG_DIR_.Configuration::get('PS_LOGO'))));
//else
// $template_vars['{shop_logo}'] = '';

$template_vars['{shop_name}'] = Tools::safeOutput(Configuration::get('PS_SHOP_NAME'));
$template_vars['{shop_url}'] = Tools::getShopDomain(true, true).__PS_BASE_URI__.'index.php';
$template_vars['{my_account_url}'] = Context::getContext()->link->getPageLink('my-account', true, Context::getContext()->language->id);
$template_vars['{guest_tracking_url}'] = Context::getContext()->link->getPageLink('guest-tracking', true, Context::getContext()->language->id);
$template_vars['{history_url}'] = Context::getContext()->link->getPageLink('history', true, Context::getContext()->language->id);
$swift->attachPlugin(new Swift_Plugin_Decorator(array($to_plugin => $template_vars)), 'decorator');
if ($configuration['PS_MAIL_TYPE'] == Mail::TYPE_BOTH || $configuration['PS_MAIL_TYPE'] == Mail::TYPE_TEXT)
$message->attach(new Swift_Message_Part($template_txt, 'text/plain', '8bit', 'utf-8'));
if ($configuration['PS_MAIL_TYPE'] == Mail::TYPE_BOTH || $configuration['PS_MAIL_TYPE'] == Mail::TYPE_HTML)
$message->attach(new Swift_Message_Part($template_html, 'text/html', '8bit', 'utf-8'));
if ($file_attachment && !empty($file_attachment))
{
// Multiple attachments?
if (!is_array(current($file_attachment)))
$file_attachment = array($file_attachment);

foreach ($file_attachment as $attachment)
if (isset($attachment['content']) && isset($attachment['name']) && isset($attachment['mime']))
$message->attach(new Swift_Message_Attachment($attachment['content'], $attachment['name'], $attachment['mime']));
}
/* Send mail */
$send = $swift->send($message, $to, new Swift_Address($from, $from_name));
$swift->disconnect();
return $send;
}
catch (Swift_Exception $e) {
return false;
}
}

Link to comment
Share on other sites

Dat is niet helemaal correct, standaard worden in de mailtjes het logo ingevoegd door middel van een inline attachment. De jpeg afbeelding van het logo word als attachment meegestuurd en vervolgens inline weergegeven.

 

 

Ik heb hier toch een heel andere voorstelling van , er wordt gewoon met scr een url van een afb. ingevoegd in de mail.html

verder weet ik niet wat jullie belevenis is van een logo en een bijlage

 

 

<tr>

<td align="left"><a title="{shop_name}" href="{shop_url}"><img style="border: none;" src="{shop_logo}" alt="{shop_name}" /></a></td>

</tr>

Link to comment
Share on other sites

Ik heb hier toch een heel andere voorstelling van , er wordt gewoon met scr een url van een afb. ingevoegd in de mail.html

verder weet ik niet wat jullie belevenis is van een logo en een bijlage

 

 

<tr>

<td align="left"><a title="{shop_name}" href="{shop_url}"><img style="border: none;" src="{shop_logo}" alt="{shop_name}" /></a></td>

</tr>

De logo url waar jij het over hebt is niks anders dan een verwijzing naar de inline attachment in de mail, niet naar het logo op een internet adres.
Link to comment
Share on other sites

Wat staat hier volgens jou dan ?

 

<tr>

<td align="left"><a title="{shop_name}" href="{shop_url}"><img style="border: none;" src="{shop_logo}" alt="{shop_name}" /></a></td>

</tr>

Wat staat hier volgens jou dan?


if (Configuration::get('PS_LOGO_MAIL') !== false && file_exists(_PS_IMG_DIR_.Configuration::get('PS_LOGO_MAIL')))
$template_vars['{shop_logo}'] = $message->attach(new Swift_Message_Image(new Swift_File(_PS_IMG_DIR_.Configuration::get('PS_LOGO_MAIL'))));
else
if (file_exists(_PS_IMG_DIR_.'logo.jpg'))
$template_vars['{shop_logo}'] = $message->attach(new Swift_Message_Image(new Swift_File(_PS_IMG_DIR_.Configuration::get('PS_LOGO'))));
else
$template_vars['{shop_logo}'] = '';

En dan vooral het stuk $template_vars['{shop_logo}'] = $message->attach

Edited by scorpionsworld (see edit history)
Link to comment
Share on other sites

voorbeeld map mails >bestand password.html

 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Bericht van {shop_name}</title> </head> <body> <table style="font-family: Verdana,sans-serif; font-size: 11px; color: #374953; width: 550px;"> <tbody> <tr> <td align="left"><a title="{shop_name}" href="{shop_url}"><img style="border: none;" src="{shop_logo}" alt="{shop_name}" /></a></td> </tr> <tr> <td> </td> </tr> <tr> <td align="left">Hallo <strong style="color: #DB3485;">{firstname} {lastname}</strong>,</td> </tr> <tr> <td> </td> </tr> <tr> <td style="background-color: #DB3484; color: #fff; font-size: 12px; font-weight: bold; padding: 0.5em 1em;" align="left">Uw nieuwe aanmeldgegevens</td> </tr> <tr> <td> </td> </tr> <tr> <td align="left"><strong> E-mailadres:</strong> {email}<br /> <strong> Wachtwoord:</strong> {passwd}</td> </tr> <tr> <td> </td> </tr> <tr> <td align="left"> <p>Veiligheidstips:</p> <p>* Bewaar uw account gegevens zorgvuldig en veilig. <br /> * Verstrek uw account gegevens nooit aan derden. <br /> * Wijzig regelmatig uw wachtwoord. <br /> <br /> U kunt nu op onze website aanmelden: {shop_url}</p> </td> </tr> <tr> <td> </td> </tr> <tr> <td style="font-size: 10px; border-top: 1px solid #D9DADE;" align="center"><a style="color: #DB3485; font-weight: bold; text-decoration: none;" href="{shop_url}">{shop_name}</a> powered with <a style="text-decoration: none; color: #374953;" href="http://www.prestashop.com/">PrestaShop™</a></td> </tr> </tbody> </table> </body> </html>

Edited by Frens (see edit history)
Link to comment
Share on other sites

Ik had het over dit in mijn ...mail xxx.html

 

<tr>

<td align="left"><a title="{shop_name}" href="{shop_url}"><img style="border: none;" src="{shop_logo}" alt="{shop_name}" /></a></td>

</tr>

 

waar heb je dat vandaan

Ja. daar staat een {shop_url} variabele. Mooie is dat deze word opgevuld met een verwijzing naar een attachment in de mail zodat de attachment inline word weergegeven.
Link to comment
Share on other sites

Hier staat duidelijk

 

href="{shop_url}" > verwijzing naar de hoofd url van de winkel

 

src="{shop_logo}" verwijzing naar het logo (logo afbeelding in de e-mail)

 

niks van een verwijzing naar atachement

 

en als er geen atachement is wat dan ?,,dit zijn vaste elementen !

Edited by Frens (see edit history)
Link to comment
Share on other sites

Hier staat duidelijk

 

href="{shop_url}" > verwijzing naar de hoofd url van de winkel

 

src="{shop_logo}" verwijzing naar het logo (logo afbeelding in de e-mail)

 

niks van een verwijzing naar atachement

 

en als er geen atachement is wat dan ?,,dit zijn vaste elementen !

src="{shop_logo}" verwijzing naar het logo (logo afbeelding in de e-mail) <- En de logo afbeelding is dus niet een url naar het logo op je site maar een kopie van het logo attached aan de mail
Link to comment
Share on other sites

Er staat boven in de mail een afbeelding , dit is standaard het logo van je website of wat je hebt gekozen in de BO

 

( je mag er ook een foto van je schoonmoeder inzetten als je dat leuk vind :) ).

 

en als ik op deze afb. klik kom ik bij de URL van mijn webpagina uit.

 

Ik ben in elk geval nog nooit op een eventueel atachement uitgekomen.

Link to comment
Share on other sites

Er staat boven in de mail een afbeelding , dit is standaard het logo van je website of wat je hebt gekozen in de BO

 

( je mag er ook een foto van je schoonmoeder inzetten als je dat leuk vind :) ).

 

en als ik op deze afb. klik kom ik bij de URL van mijn webpagina uit.

 

Ik ben in elk geval nog nooit op een eventueel atachement uitgekomen.

 

hierbij een foto met een attachement erbij.

hier kan je zien dat je logo kan downloaden.

post-402178-0-04055600-1360945070_thumb.png

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...