Re: E-mail sending attachment

Muzaffer Tolga Ozses <[email protected]> Wed, 18 Dec 2013 01:06:31 +0200
Newsgroups gmane.comp.php.drupal.devel
Message-ID <CAMAQ3nJaHX7PkV2UOEWLzXaLRhbjc5C6efm6aZ1-j1hhKOJQkg@mail.gmail.com>
--f46d044306a4a219e704edc2fa5a
Content-Type: text/plain; charset=ISO-8859-1

Still no attachment :S


On 18 December 2013 00:48, Paolo Mainardi <[email protected]> wrote:

> Seems that there is a typo here:
>
> function pass2pdf_mail($key, &$message, $attachment) {
>   switch($key) {
>     case 'key':
>       $message['subject'] = $subject;
>       $message['body'][] = $body;
>       $message['attachments'][] = $attachment;
>       break;
>   }
> }
>
> Must be:
>
> function pass2pdf_mail($key, &$message, $params) {
>   switch($key) {
>     case 'key':
>       $message['subject'] = $params['subject'];
>       $message['body'][] = $params['body'];
>       $message['attachments'][] = $params['attachment'];
>       break;
>   }
> }
>
>
> On Tue, Dec 17, 2013 at 11:37 PM, Muzaffer Tolga Ozses <[email protected]>wrote:
>
>> 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,
>>
>
>
>
> --
> [image: TWINBIT logo] <http://twinbit.it/>
>
> Paolo Mainardi
>
> *Twinbit Founder - CTO *
> *www*:      twinbit.it
> *mobile*:   (+39) 3401678089
> *skype*:    paolo_mainardi
> *linkedin*: paolomainardi <http://www.linkedin.com/in/paolomainardi>
> *twitter*:  @paolomainardi <http://twitter.com/paolomainardi>
> *blog*:     paolomainardi.com
>

--f46d044306a4a219e704edc2fa5a
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:courier =
new,monospace">Still no attachment :S</div></div><div class=3D"gmail_extra"=
><br><br><div class=3D"gmail_quote">On 18 December 2013 00:48, Paolo Mainar=
di <span dir=3D"ltr">&lt;<a href=3D"mailto:[email protected]" target=3D"_bla=
nk">[email protected]</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div dir=3D"ltr">Seems that there is a typo =
here:<div class=3D"im"><div><br></div><div><div class=3D"gmail_default" sty=
le=3D"font-family:arial,sans-serif;font-size:12.800000190734863px">
<font face=3D"courier new, monospace">function pass2pdf_mail($key, &amp;$me=
ssage, $attachment) {</font></div>

<div class=3D"gmail_default" style=3D"font-family:arial,sans-serif;font-siz=
e:12.800000190734863px"><font face=3D"courier new, monospace">=A0 switch($k=
ey) {</font></div><div class=3D"gmail_default" style=3D"font-family:arial,s=
ans-serif;font-size:12.800000190734863px">


<font face=3D"courier new, monospace">=A0 =A0 case &#39;key&#39;:</font></d=
iv><div class=3D"gmail_default" style=3D"font-family:arial,sans-serif;font-=
size:12.800000190734863px"><font face=3D"courier new, monospace">=A0 =A0 =
=A0 $message[&#39;subject&#39;] =3D $subject;</font></div>


<div class=3D"gmail_default" style=3D"font-family:arial,sans-serif;font-siz=
e:12.800000190734863px"><font face=3D"courier new, monospace">=A0 =A0 =A0 $=
message[&#39;body&#39;][] =3D $body;</font></div><div class=3D"gmail_defaul=
t" style=3D"font-family:arial,sans-serif;font-size:12.800000190734863px">


<font face=3D"courier new, monospace">=A0 =A0 =A0 $message[&#39;attachments=
&#39;][] =3D $attachment;</font></div><div class=3D"gmail_default" style=3D=
"font-family:arial,sans-serif;font-size:12.800000190734863px"><font face=3D=
"courier new, monospace">=A0 =A0 =A0 break;</font></div>


<div class=3D"gmail_default" style=3D"font-family:arial,sans-serif;font-siz=
e:12.800000190734863px"><font face=3D"courier new, monospace">=A0 }</font><=
/div><div class=3D"gmail_default" style=3D"font-family:arial,sans-serif;fon=
t-size:12.800000190734863px">


<font face=3D"courier new, monospace">}</font></div></div><div class=3D"gma=
il_default" style=3D"font-family:arial,sans-serif;font-size:12.800000190734=
863px"><font face=3D"courier new, monospace"><br></font></div></div><div cl=
ass=3D"gmail_default" style=3D"font-size:12.800000190734863px">


<font face=3D"courier new, monospace">Must be:</font></div><div class=3D"gm=
ail_default" style=3D"font-size:12.800000190734863px"><font face=3D"courier=
 new, monospace"><br></font></div><div class=3D"gmail_default" style=3D"fon=
t-size:12.800000190734863px">


<div class=3D"gmail_default" style=3D"font-family:arial,sans-serif"><font f=
ace=3D"courier new, monospace">function pass2pdf_mail($key, &amp;$message, =
$params) {</font></div><div class=3D"gmail_default" style=3D"font-family:ar=
ial,sans-serif">


<font face=3D"courier new, monospace">=A0 switch($key) {</font></div><div c=
lass=3D"gmail_default" style=3D"font-family:arial,sans-serif"><font face=3D=
"courier new, monospace">=A0 =A0 case &#39;key&#39;:</font></div><div class=
=3D"gmail_default" style=3D"font-family:arial,sans-serif">


<font face=3D"courier new, monospace">=A0 =A0 =A0 $message[&#39;subject&#39=
;] =3D $params[&#39;subject&#39;];</font></div><div class=3D"gmail_default"=
 style=3D"font-family:arial,sans-serif"><font face=3D"courier new, monospac=
e">=A0 =A0 =A0 $message[&#39;body&#39;][] =3D $params[&#39;body&#39;];</fon=
t></div>


<div class=3D"gmail_default" style=3D"font-family:arial,sans-serif"><font f=
ace=3D"courier new, monospace">=A0 =A0 =A0 $message[&#39;attachments&#39;][=
] =3D $params[&#39;attachment&#39;];</font></div><div class=3D"gmail_defaul=
t" style=3D"font-family:arial,sans-serif">


<font face=3D"courier new, monospace">=A0 =A0 =A0 break;</font></div><div c=
lass=3D"gmail_default" style=3D"font-family:arial,sans-serif"><font face=3D=
"courier new, monospace">=A0 }</font></div><div class=3D"gmail_default" sty=
le=3D"font-family:arial,sans-serif">


<font face=3D"courier new, monospace">}</font></div></div></div><div class=
=3D"gmail_extra"><div><div class=3D"h5"><br><br><div class=3D"gmail_quote">=
On Tue, Dec 17, 2013 at 11:37 PM, Muzaffer Tolga Ozses <span dir=3D"ltr">&l=
t;<a href=3D"mailto:[email protected]" target=3D"_blank">[email protected]</a>&=
gt;</span> wrote:<br>


<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div class=3D"gmail_default=
" style=3D"font-family:&#39;courier new&#39;,monospace">Hi,</div><div class=
=3D"gmail_default" style=3D"font-family:&#39;courier new&#39;,monospace">


<br></div><div class=3D"gmail_default" style=3D"font-family:&#39;courier ne=
w&#39;,monospace">
I&#39;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 =
&#39;Undefined variable $attachment&#39; and doesn&#39;t e-mail the attachm=
ent.</div>



<div class=3D"gmail_default" style=3D"font-family:&#39;courier new&#39;,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&#39;) . &#39;/fpdf.php&#39;);</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-&gt;AddPage();</font></div><div class=3D"gmai=
l_default">


<font face=3D"courier new, monospace">=A0 $pdf-&gt;SetFont(&#39;Arial&#39;,=
 &#39;B&#39;, 16);</font></div>
<div class=3D"gmail_default"><font face=3D"courier new, monospace">=A0 $pdf=
-&gt;Image(theme_get_setting(&#39;logo&#39;), 10, 6, 30);</font></div><div =
class=3D"gmail_default"><font face=3D"courier new, monospace">=A0 $pdf-&gt;=
Cell(100, 100, $form[&#39;pass2pdf_pass&#39;][&#39;#value&#39;][&#39;pass1&=
#39;]);</font></div>



<div class=3D"gmail_default"><font face=3D"courier new, monospace">=A0 $pdf=
-&gt;Output(drupal_realpath(&#39;public://&#39;) . &#39;/&#39; . $form[&#39=
;account&#39;][&#39;name&#39;][&#39;#value&#39;] . &#39;.pdf&#39;);</font><=
/div>



<div class=3D"gmail_default"><font face=3D"courier new, monospace">=A0 $to =
=3D $form[&#39;account&#39;][&#39;mail&#39;][&#39;#value&#39;];</font></div=
><div class=3D"gmail_default"><font face=3D"courier new, monospace">=A0 $fr=
om =3D variable_get(&#39;site_name&#39;) . &quot;&lt;&quot; . variable_get(=
&#39;site_mail&#39;) . &quot;&gt;&quot;;</font></div>



<div class=3D"gmail_default"><font face=3D"courier new, monospace">=A0 $sub=
ject =3D t(&#39;Your password from @site&#39;, array(&#39;@site&#39; =3D&gt=
; variable_get(&#39;site_name&#39;)));</font></div><div class=3D"gmail_defa=
ult"><font face=3D"courier new, monospace">=A0 $body =3D t(&#39;Hello !user=
. Please find your password in the attached PDF file.&#39;, array(&#39;!use=
r&#39; =3D&gt; $form[&#39;account&#39;][&#39;name&#39;][&#39;#value&#39;]))=
;</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 &#39;filecontent&#39; =3D&gt; file_get_conte=
nts(drupal_realpath(&#39;public://&#39;) . &#39;/&#39;. $form[&#39;account&=
#39;][&#39;name&#39;][&#39;#value&#39;] . &#39;.pdf&#39;),</font></div>



<div class=3D"gmail_default"><font face=3D"courier new, monospace">=A0 =A0 =
&#39;filemime&#39; =3D&gt; &#39;application/pdf&#39;,</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[&#39;subject&#39;] =3D $s=
ubject;</font></div><div class=3D"gmail_default"><font face=3D"courier new,=
 monospace">=A0 $params[&#39;body&#39;] =3D $body;</font></div><div class=
=3D"gmail_default">



<font face=3D"courier new, monospace">=A0 $params[&#39;attachment&#39;] =3D=
 $attachment;</font></div><div class=3D"gmail_default"><font face=3D"courie=
r new, monospace">=A0 $message =3D drupal_mail(&#39;pass2pdf&#39;, &#39;key=
&#39;, $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(&#39;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, &amp;$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 &#39;key&#39;:</font></div><div class=3D"gmail_default"><font face=3D"=
courier new, monospace">=A0 =A0 =A0 $message[&#39;subject&#39;] =3D $subjec=
t;</font></div>


<div class=3D"gmail_default">
<font face=3D"courier new, monospace">=A0 =A0 =A0 $message[&#39;body&#39;][=
] =3D $body;</font></div><div class=3D"gmail_default"><font face=3D"courier=
 new, monospace">=A0 =A0 =A0 $message[&#39;attachments&#39;][] =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>
</blockquote></div><br><br clear=3D"all"><div><br></div></div></div><span c=
lass=3D"HOEnZb"><font color=3D"#888888">-- <br><div><a href=3D"http://twinb=
it.it/" style=3D"color:rgb(17,85,204);font-family:Consolas,Menlo,Monaco,&#3=
9;Andale Mono WT&#39;,&#39;Andale Mono&#39;,&#39;Lucida Console&#39;,&#39;L=
ucida Sans Typewriter&#39;,&#39;DejaVu Sans Mono&#39;,&#39;Bitstream Vera S=
ans Mono&#39;,&#39;Liberation Mono&#39;,&#39;Nimbus Mono L&#39;,&#39;Courie=
r New&#39;,Courier,monospace;font-size:x-small" target=3D"_blank"><img bord=
er=3D"0" alt=3D"TWINBIT logo" width=3D"200" height=3D"46"></a><span style=
=3D"font-family:Consolas,Menlo,Monaco,&#39;Andale Mono WT&#39;,&#39;Andale =
Mono&#39;,&#39;Lucida Console&#39;,&#39;Lucida Sans Typewriter&#39;,&#39;De=
jaVu Sans Mono&#39;,&#39;Bitstream Vera Sans Mono&#39;,&#39;Liberation Mono=
&#39;,&#39;Nimbus Mono L&#39;,&#39;Courier New&#39;,Courier,monospace;font-=
size:x-small">=A0</span><br style=3D"font-family:Consolas,Menlo,Monaco,&#39=
;Andale Mono WT&#39;,&#39;Andale Mono&#39;,&#39;Lucida Console&#39;,&#39;Lu=
cida Sans Typewriter&#39;,&#39;DejaVu Sans Mono&#39;,&#39;Bitstream Vera Sa=
ns Mono&#39;,&#39;Liberation Mono&#39;,&#39;Nimbus Mono L&#39;,&#39;Courier=
 New&#39;,Courier,monospace;font-size:x-small">


<br style=3D"font-family:Consolas,Menlo,Monaco,&#39;Andale Mono WT&#39;,&#3=
9;Andale Mono&#39;,&#39;Lucida Console&#39;,&#39;Lucida Sans Typewriter&#39=
;,&#39;DejaVu Sans Mono&#39;,&#39;Bitstream Vera Sans Mono&#39;,&#39;Libera=
tion Mono&#39;,&#39;Nimbus Mono L&#39;,&#39;Courier New&#39;,Courier,monosp=
ace;font-size:x-small">


<font style=3D"font-family:arial,helvetica,sans-serif;color:rgb(51,51,51)">=
<font size=3D"4">Paolo Mainardi</font>=A0<br></font><i>Twinbit Founder - CT=
O<br style=3D"font-family:Consolas,Menlo,Monaco,&#39;Andale Mono WT&#39;,&#=
39;Andale Mono&#39;,&#39;Lucida Console&#39;,&#39;Lucida Sans Typewriter&#3=
9;,&#39;DejaVu Sans Mono&#39;,&#39;Bitstream Vera Sans Mono&#39;,&#39;Liber=
ation Mono&#39;,&#39;Nimbus Mono L&#39;,&#39;Courier New&#39;,Courier,monos=
pace;font-size:x-small">


</i><br style=3D"font-family:Consolas,Menlo,Monaco,&#39;Andale Mono WT&#39;=
,&#39;Andale Mono&#39;,&#39;Lucida Console&#39;,&#39;Lucida Sans Typewriter=
&#39;,&#39;DejaVu Sans Mono&#39;,&#39;Bitstream Vera Sans Mono&#39;,&#39;Li=
beration Mono&#39;,&#39;Nimbus Mono L&#39;,&#39;Courier New&#39;,Courier,mo=
nospace;font-size:x-small">


<font face=3D"Consolas, Menlo, Monaco, Courier New, Courier, monospace" col=
or=3D"#666666" style=3D"font-family:Consolas,Menlo,Monaco,&#39;Andale Mono =
WT&#39;,&#39;Andale Mono&#39;,&#39;Lucida Console&#39;,&#39;Lucida Sans Typ=
ewriter&#39;,&#39;DejaVu Sans Mono&#39;,&#39;Bitstream Vera Sans Mono&#39;,=
&#39;Liberation Mono&#39;,&#39;Nimbus Mono L&#39;,&#39;Courier New&#39;,Cou=
rier,monospace"><font face=3D"Consolas, Menlo, Monaco, Courier New, Courier=
, monospace"><b>www</b>:=A0=A0=A0=A0=A0=A0<a href=3D"http://twinbit.it/" st=
yle=3D"color:rgb(241,126,14)" target=3D"_blank">twinbit.it</a></font>=A0<br=
>


<font face=3D"Consolas, Menlo, Monaco, Courier New, Courier, monospace"><b>=
mobile</b>:=A0=A0=A0<a value=3D"+393895122611" style=3D"color:rgb(17,85,204=
)">(+39) 3401678089</a></font>=A0<br><font face=3D"Consolas, Menlo, Monaco,=
 Courier New, Courier, monospace"><b>skype</b>: =A0 =A0paolo_mainardi</font=
>=A0<br>


<font face=3D"Consolas, Menlo, Monaco, Courier New, Courier, monospace"><b>=
linkedin</b>:=A0<a href=3D"http://www.linkedin.com/in/paolomainardi" style=
=3D"color:rgb(241,126,14)" target=3D"_blank">paolomainardi</a></font>=A0<br=
><font face=3D"Consolas, Menlo, Monaco, Courier New, Courier, monospace"><b=
>twitter</b>:=A0=A0<a href=3D"http://twitter.com/paolomainardi" style=3D"co=
lor:rgb(241,126,14)" target=3D"_blank">@paolomainardi</a></font>=A0<br>


<font face=3D"Consolas, Menlo, Monaco, Courier New, Courier, monospace"><b>=
blog</b>:=A0=A0=A0=A0=A0<a href=3D"http://paolomainardi.com/" style=3D"colo=
r:rgb(241,126,14)" target=3D"_blank">paolomainardi.com</a></font>=A0<br></f=
ont></div>
</font></span></div>
</blockquote></div><br></div>

--f46d044306a4a219e704edc2fa5a--