E-mail sending attachment
Muzaffer Tolga Ozses <[email protected]> Wed, 18 Dec 2013 00:37:13 +0200
| Newsgroups | gmane.comp.php.drupal.devel |
|---|---|
| Message-ID | <CAMAQ3n+S1v1sE0pgNQR0_hSdGAKJgaCn6p8iMKttcK61x3WbyQ@mail.gmail.com> |
--047d7bfcecb6dc900204edc2917f
Content-Type: text/plain; charset=ISO-8859-1
Hi,
I've been trying to develop this module. It does what I need, with the
exception of e-mailing a PDF file. What is wrong with my code? It gives me
'Undefined variable $attachment' and doesn't e-mail the attachment.
function pass2pdf_email_pdf_to_user($form) {
global $user;
$account = $user;
require(libraries_get_path('fpdf') . '/fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial', 'B', 16);
$pdf->Image(theme_get_setting('logo'), 10, 6, 30);
$pdf->Cell(100, 100, $form['pass2pdf_pass']['#value']['pass1']);
$pdf->Output(drupal_realpath('public://') . '/' .
$form['account']['name']['#value'] . '.pdf');
$to = $form['account']['mail']['#value'];
$from = variable_get('site_name') . "<" . variable_get('site_mail') . ">";
$subject = t('Your password from @site', array('@site' =>
variable_get('site_name')));
$body = t('Hello !user. Please find your password in the attached PDF
file.', array('!user' => $form['account']['name']['#value']));
$attachment = array(
'filecontent' => file_get_contents(drupal_realpath('public://') . '/'.
$form['account']['name']['#value'] . '.pdf'),
'filemime' => 'application/pdf',
);
$params['subject'] = $subject;
$params['body'] = $body;
$params['attachment'] = $attachment;
$message = drupal_mail('pass2pdf', 'key', $to,
user_preferred_language($user), $params, $from, TRUE);
if ($message) {
drupal_set_message(t('E-mail sent successfully'));
}
}
function pass2pdf_mail($key, &$message, $attachment) {
switch($key) {
case 'key':
$message['subject'] = $subject;
$message['body'][] = $body;
$message['attachments'][] = $attachment;
break;
}
}
Regards,
--047d7bfcecb6dc900204edc2917f
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:'cou=
rier new',monospace">Hi,</div><div class=3D"gmail_default" style=3D"fon=
t-family:'courier new',monospace"><br></div><div class=3D"gmail_def=
ault" style=3D"font-family:'courier new',monospace">
I've been trying to develop this module. It does what I need, with the =
exception of e-mailing a PDF file. What is wrong with my code? It gives me =
'Undefined variable $attachment' and doesn't e-mail the attachm=
ent.</div>
<div class=3D"gmail_default" style=3D"font-family:'courier new',mon=
ospace"><br></div><div class=3D"gmail_default"><div class=3D"gmail_default"=
><font face=3D"courier new, monospace">function pass2pdf_email_pdf_to_user(=
$form) {</font></div>
<div class=3D"gmail_default"><font face=3D"courier new, monospace">=A0 glob=
al $user;</font></div><div class=3D"gmail_default"><font face=3D"courier ne=
w, monospace">=A0 $account =3D $user;</font></div><div class=3D"gmail_defau=
lt"><font face=3D"courier new, monospace">=A0 require(libraries_get_path(&#=
39;fpdf') . '/fpdf.php');</font></div>
<div class=3D"gmail_default"><font face=3D"courier new, monospace">=A0 $pdf=
=3D new FPDF();</font></div><div class=3D"gmail_default"><font face=3D"cou=
rier new, monospace">=A0 $pdf->AddPage();</font></div><div class=3D"gmai=
l_default"><font face=3D"courier new, monospace">=A0 $pdf->SetFont('=
Arial', 'B', 16);</font></div>
<div class=3D"gmail_default"><font face=3D"courier new, monospace">=A0 $pdf=
->Image(theme_get_setting('logo'), 10, 6, 30);</font></div><div =
class=3D"gmail_default"><font face=3D"courier new, monospace">=A0 $pdf->=
Cell(100, 100, $form['pass2pdf_pass']['#value']['pass1&=
#39;]);</font></div>
<div class=3D"gmail_default"><font face=3D"courier new, monospace">=A0 $pdf=
->Output(drupal_realpath('public://') . '/' . $form['=
;account']['name']['#value'] . '.pdf');</font><=
/div>
<div class=3D"gmail_default"><font face=3D"courier new, monospace">=A0 $to =
=3D $form['account']['mail']['#value'];</font></div=
><div class=3D"gmail_default"><font face=3D"courier new, monospace">=A0 $fr=
om =3D variable_get('site_name') . "<" . variable_get(=
'site_mail') . ">";</font></div>
<div class=3D"gmail_default"><font face=3D"courier new, monospace">=A0 $sub=
ject =3D t('Your password from @site', array('@site' =3D>=
; variable_get('site_name')));</font></div><div class=3D"gmail_defa=
ult"><font face=3D"courier new, monospace">=A0 $body =3D t('Hello !user=
. Please find your password in the attached PDF file.', array('!use=
r' =3D> $form['account']['name']['#value']))=
;</font></div>
<div class=3D"gmail_default"><font face=3D"courier new, monospace">=A0 $att=
achment =3D array(</font></div><div class=3D"gmail_default"><font face=3D"c=
ourier new, monospace">=A0 =A0 'filecontent' =3D> file_get_conte=
nts(drupal_realpath('public://') . '/'. $form['account&=
#39;]['name']['#value'] . '.pdf'),</font></div>
<div class=3D"gmail_default"><font face=3D"courier new, monospace">=A0 =A0 =
'filemime' =3D> 'application/pdf',</font></div><div clas=
s=3D"gmail_default"><font face=3D"courier new, monospace">=A0 );</font></di=
v><div class=3D"gmail_default">
<font face=3D"courier new, monospace">=A0 $params['subject'] =3D $s=
ubject;</font></div><div class=3D"gmail_default"><font face=3D"courier new,=
monospace">=A0 $params['body'] =3D $body;</font></div><div class=
=3D"gmail_default">
<font face=3D"courier new, monospace">=A0 $params['attachment'] =3D=
$attachment;</font></div><div class=3D"gmail_default"><font face=3D"courie=
r new, monospace">=A0 $message =3D drupal_mail('pass2pdf', 'key=
', $to, user_preferred_language($user), $params, $from, TRUE);</font></=
div>
<div class=3D"gmail_default"><font face=3D"courier new, monospace">=A0 if (=
$message) {</font></div><div class=3D"gmail_default"><font face=3D"courier =
new, monospace">=A0 =A0 drupal_set_message(t('E-mail sent successfully&=
#39;));</font></div>
<div class=3D"gmail_default"><font face=3D"courier new, monospace">=A0 }</f=
ont></div><div class=3D"gmail_default"><font face=3D"courier new, monospace=
">}</font></div><div class=3D"gmail_default"><font face=3D"courier new, mon=
ospace"><br>
</font></div><div class=3D"gmail_default"><font face=3D"courier new, monosp=
ace">function pass2pdf_mail($key, &$message, $attachment) {</font></div=
><div class=3D"gmail_default"><font face=3D"courier new, monospace">=A0 swi=
tch($key) {</font></div>
<div class=3D"gmail_default"><font face=3D"courier new, monospace">=A0 =A0 =
case 'key':</font></div><div class=3D"gmail_default"><font face=3D"=
courier new, monospace">=A0 =A0 =A0 $message['subject'] =3D $subjec=
t;</font></div><div class=3D"gmail_default">
<font face=3D"courier new, monospace">=A0 =A0 =A0 $message['body'][=
] =3D $body;</font></div><div class=3D"gmail_default"><font face=3D"courier=
new, monospace">=A0 =A0 =A0 $message['attachments'][] =3D $attachm=
ent;</font></div><div class=3D"gmail_default">
<font face=3D"courier new, monospace">=A0 =A0 =A0 break;</font></div><div c=
lass=3D"gmail_default"><font face=3D"courier new, monospace">=A0 }</font></=
div><div class=3D"gmail_default"><font face=3D"courier new, monospace">}</f=
ont></div><div class=3D"gmail_default">
<font face=3D"courier new, monospace"><br></font></div><div class=3D"gmail_=
default"><font face=3D"courier new, monospace">Regards,</font></div></div><=
/div>
--047d7bfcecb6dc900204edc2917f--