Skocz do zawartości

[php] e-mail ze strony - giną mi znaki


wloch

Rekomendowane odpowiedzi

Witam,

Mam problem z wysyłanymi e-mail z mojej strony.

Przykład takiego meila jest tu: https://www.ambersun.pl/ambersun.htm

W tym akurat e-mailu nie wyświetla mi się 7 obrazek.

Z tego co zauwarzyłem w źródłach takich stron (e-maili) gubi mi znaki przechodząć do nowego wiersza.

Czy wiecie może czy da się coś z tym zrobić?

E-maila wysyłam tak:

php:

<?

//*

//* send.php

//*

if (!UserLoged())

{

Error();

}

else

{

$user_id = $_SESSION["user_id"];

if (isset($_POST["yes"]))

{

$query5 = "SELECT * FROM users WHERE id='$user_id';";

$result5 = mysql_query( $query5 );

$admin = ADMINMAIL;

$Data = date("Y-m-d H:i:s");

$temat = "[ AmberSun ] ";

$news_head = '<html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-2">

<link rel="stylesheet" href="style.css">

<style type=text/css>

<!-- table { FONT-SIZE: 10px; COLOR: #444444; FONT-FAMILY: Verdana, Arial, Helvetica }

--></style></head><body> ';

$news_end = "</body></html>\r\n";

if ($row5 = mysql_fetch_array( $result5 ))

{

$fullname = $row5["fullname"];

$firmname = $row5["firmname"];

$address = $row5["address"];

$login = $row5["login"];

$phone = $row5["phone"];

$nip = $row5["nip"];

$wiadomosc = '<table><tr><td width="300" colspan="2"> ';

$wiadomosc.= "<b>".TEXT_ORDER_01. "</b><br><br></td></tr> ";

$wiadomosc.= "<tr><td>".TEXT_REGISTER_01 . ":</td><td width=\"50%\">$fullname</td></tr> ";

$wiadomosc.= "<tr><td>".TEXT_REGISTER_02 . ":</td><td>$firmname</td></tr> ";

$wiadomosc.= "<tr><td>".TEXT_REGISTER_03 . ":</td><td>$address</td></tr> ";

$wiadomosc.= "<tr><td>".TEXT_REGISTER_04 . ":</td><td>$login</td></tr> ";

$wiadomosc.= "<tr><td>".TEXT_REGISTER_05 . ":</td><td>$phone</td></tr> ";

$wiadomosc.= "<tr><td>".TEXT_REGISTER_06 . ":</td><td>$nip</td></tr> ";

$wiadomosc.= "<tr><td>".TEXT_REGISTER_20 . ":</td><td>$Data</td></tr> ";

$wiadomosc.= "</table> ";

$vTo = $login;

}

$naglowki = "From: $admin \r\n";

$naglowki .= "Content-type: text/html; charset=\"iso-8859-2\" \r\n";

$naglowki .= "Bcc: $admin \r\n";

$naglowki .= "X-Priority: 1 \r\n";

$n = 0;

$total_quantity = 0;

$total_value = 0;

$query4 = "SELECT * FROM cart WHERE user_id='$user_id';";

$result4 = mysql_query( $query4 ) or die("złe zapytanie!");

$items_id = "";

$items_qty = "";

$items = "";

$wiadomosc .= '<table width="500" style="border-color: #000000; border: 1px;"> ';

//$wiadomosc .= '<br><br>';

$n = 0;

while ($row4 = mysql_fetch_array ( $result4 ))

{

++$n;

$quantity = $row4["quantity"];

$inventory_id = $row4["inventory_id"];

$price = GetFromConditioned( 'inv', 'price_quantity', 'id', $inventory_id );

$symbol = GetFromConditioned( 'inv', 'symbol', 'id', $inventory_id );

$value = $quantity * $price;

$total_quantity +=$quantity;

$total_value +=$value;

// $photo = GetFromConditioned( 'inv', 'photo', 'id', $inventory_id );

$photo = GetFromConditioned( 'inv', 'photo', 'id', $inventory_id );

$photo = trim ( $photo );

//$server_root = "https://ambersun.pl/";

$file = $server_root . "images/" . $photo;

//$file = MAILIMAGESURL . $photo;

if (!is_file("images/" . $photo) || $photo ="" ) $file = $server_root . "images/nophoto.jpg";

//@$w = getimagesize( $file );

$file = trim ( $file );

$file = str_replace( '%20', '', $file);

$file = str_replace( ' ', '', $file);

//print "$n, $file<br>";

$item_id = $inventory_id;

$item_qty = $quantity;

$items .= $item_id."-".$item_qty.",";

$str_quantity = TEXT_CART_01;

$str_value = TEXT_CART_02;

$str_add = TEXT_CART_04;

$wiadomosc.= '<tr><td width="150"> ';

$wiadomosc.= "<img src=\"$file\" width=\"120\" heigth=\"120\" border=\"1\" style=\"border-color: #000000;\"></td> ";

$wiadomosc.= "<td width=\"100\">$symbol</td> ";

$wiadomosc.= "<td width=\"100\">$str_quantity: $quantity</td> ";

$wiadomosc.= "<td>$str_value: $value $str_add</td> ";

$wiadomosc.= '</tr> ';

}

$wiadomosc .= '</table> ';

$date_year = date("Y");

$date_month = date("m");

//print "date_year = $date_year<br>";

//print "date_month = $date_month<br>";

$number = GetMaxFromConditioned( "orders", "number", "date_year", $date_year, "date_month", $date_month );

$status = 0; // wysłane zamówienie

++$number;

$query1 = "INSERT INTO orders ( user_id, number, items, status, date_of_adding, date_year, date_month ) VALUES ( '$user_id', '$number', '$items', '$status', now(), '$date_year', '$date_month' );";

$result1 = mysql_query( $query1 ) or die("złe zapytanie !");

mail($vTo, $temat, $news_head . $wiadomosc . $news_end, $naglowki);

ClearCart2();

//print "$wiadomosc";

print '<table align="center">';

echo "<tr>";

echo '<TD align=center class="module1">';

echo "<SPAN class=error><b>";

print TEXT_ORDER_SENDED;

echo "</b></SPAN>";

echo "</tr>";

print "</table>";

}

}

Odnośnik do komentarza
Udostępnij na innych stronach

Ale o co chodzi ... :D

W tym podanym przykładzie brak zamknięcia taga >

<img src="https://www.ambersun.pl/images/BR110G.jpg" width="12

Poza tym ciągi znaków nie definiuje sie tak ja ty robisz:

$wiadomosc.= "<img src=\"$file\" width=\"120\" heigth=\"120\" border=\"1\" style

tylko tak:

$wiadomosc.= '<img src="'.$file.'" width="120">';

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Chodzi mi o to:

wstawiłem: $wiadomosc.= '<img src="'.$file.'" width="120">';

ale dalej jest coś nie tak: link

W tym przypadku brakuje </b

na dole strony jest ody>

Druga sprawa:

Dopiero się uczę. Ale czy na końcu pliku nie powinno być ?>

W poprzednim poście podałem treść całego pliku.

Odnośnik do komentarza
Udostępnij na innych stronach

Najpierw przygotuj prawidłowe wyświetlanie danych na stronie czyli tą Twoją tabelkę.

Jak już to opanujesz co zresztą nie stanowi najmniejszego problemu i dane będą wyświetlane w całości użyj funkcji buforujących u zamiast wysłać do output przechwyć je do bufora

ob_start();

// tutaj kod generujacy dane
// np cala prorawna tesc maila w HTML

$kod_html = ob_get_contents();	
ob_end_clean();

po przechwyceniu będziesz miął w zmiennej $kod_html zawartość bufora możesz ją "wyświetlić" echo $kod_html;,ale w tym wypadku chodzi o wysłanie mailem wiec proponuje skorzystać z sprawdzonych rozwiązań takich jak np.: https://phpmailer.sourceforge.net/

To chyba wszystko na ten temat...

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności