latoz
11.09.2009, 21:44:50
Witam
Próbuje wysłać obrazek/obrazki wstawione w CKEditor za pomocą PHPMailer ale nie wiem jak zrobić automat do dodania obrazków do PHPMailer
coś takiego dostaje z CKEditor
<p>
<img alt="" src="http://xxx.xxx.xxx/xxx/xxx/upload/grafiki/xxx-1.jpg" /> <img alt="" src="http://xxx.xxx.xxx/xxx/xxx/upload/grafiki/xxx-2.jpg" /> </p>
dane te dostaje przez $_POST['tresc'];
na coś takiego
$mail->AddEmbeddedImage("../upload/grafiki/xxx-1.jpg", "my-attach", "xxx-1.jpg");
$mail->Body .= '<img alt="xxx-1.jpg" src="cid:my-attach">';
$mail->AddEmbeddedImage("../upload/grafiki/xxx-2.jpg", "my-attach", "xxx-2.jpg");
$mail->Body .= '<img alt="xxx-2.jpg" src="cid:my-attach">';
Pozdrawiam
LaToZ
k_@_m_i_l
12.09.2009, 08:34:09
Preg_match_all wyciągasz ze zmiennej $_POST['tresc'] zawartość src i później wstawiasz to do PHPMailera.
latoz
13.09.2009, 19:14:46
Dzięki za podpowiedz
Zrobiłem tak:
# -------------------------------------
# dodanie obrazów jako niby załączników
# -------------------------------------
$szukane = "^http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?^";
$i = 0;
foreach ($wynik[0] as $v2)
{
$i += 1;
# echo "$v2<br>";
$link = str_replace( $cfg['root_www'] , $cfg['root_dir'] , $v2 ); $mail->AddEmbeddedImage ( $link , "my-attach".$i , basename($link) ); $mail->Body .= "<img alt=\"".basename($path)."\" src=\"cid:my-attach".$i."\">"; # echo "$link<br>";
}
Pozdrawiam
LaToZ
SebaZ
12.03.2010, 10:40:00
Wiem, że to już trochę stary temat, ale własnie miałem z tym problem i miło okazało się, że najnowszy phpmailer przy wykorzystaniu $mail->MsgBody() i wpisaniu ścieżki lokalnej do obrazka sam zrobi z niego załącznik.
To tak dla potomności