Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Witam.
Pytanie jak w temacie - potrzebuję wysłać maila który w formie tabeli przedstawi dane odbiorcy, maila napisałem, jak wrzucam treść do jakiegoś index.html czy jakiegoś innego miejsca na stronce to wszystko ładnie śmiga, ale jak przesyłam to widziane jest jako zwykły tekst ze wszystkimi znacznikami html jak sprawić żeby u odbiorcy wyświetliła się ładnie w postaci treści HTML?
Z góry dzięki za info.
Pozdro.
Offline
Ustaw odpowiedni typ MIME dla HTML, bodajże text/html.
Offline
Nie możesz sam do siebie wysłać wiadomości w formacie html (Thunderbird i Kmail obsługują ten format bez kłopotu), a jak dojdzie, otworzyć go w edytorze - źródło maila, i zobaczyć?
Tu masz przykład typowego spamu html: http://ompldr.org/vY2Z2Yg
Wyświetla się prawidłowo :D
Pozdro
;-)
Ostatnio edytowany przez Jacekalex (2012-01-25 09:45:39)
Online
Zawsze możesz skorzystać z funkcji php mail: http://php.net/manual/en/function.mail.php wtedy
$headers = 'Content-type: text/html; charset=utf-8' . "\r\n"; mail($to, $subject, $message, $headers);
albo html
<form enctype="multipart/form-data"...
application/x-www-form-urlencoded Default. All characters are encoded before sent (spaces are converted to "+" symbols, and special characters are converted to ASCII HEX values)
multipart/form-data No characters are encoded. This value is required when you are using forms that have a file upload control
Wyłączy to konwertowanie znaków specjalnych i może ruszy, ale raczej bym liczył na php.
Offline
Dzięki wszystkim za info ale chyba muszę trochę doprecyzować - maila muszę wysłać z poziomu kodu (pewnej firmowej biblioteki napisanej w .NET), i teraz tak - kiedy wysyłam stąd:
http://ctrlq.org/html-mail/
wiadomość (wklejoną w trybie "design") typu:
<table border="1"> <tbody><tr> <td>row 1, cell 1</td> <td>row 1, cell 2</td> </tr> <tr> <td>row 2, cell 1</td> <td>row 2, cell 2</td> </tr> </tbody></table>
to według Outlook'a dochodzi mi coś takiego:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"><table border="1"> <tbody><tr> <td>row 1, cell 1</td> <td>row 1, cell 2</td> </tr> <tr> <td>row 2, cell 1</td> <td>row 2, cell 2</td> </tr> </tbody></table><br><br>-----------<br>Mail sent from http://ctrlq.org/html-mail
i ładnie wszystko działa,tabela się wyświetla, tyle że jak powyższe wkleję do swojego kodu jako "content", to dochodzi już w trybie zwykłego tekstu, nawet nie ma opcji "Pokaż źródło". W Gmail, "oryginały" wyglądają następująco:
Z linka powyżej:
MIME-Version: 1.0 Content-Type: text/html; charset=ISO-8859-1 Message-Id: <20120126070358.2D53A28B4F96@ps6752.dreamhostps.com> Date: Wed, 25 Jan 2012 23:03:58 -0800 (PST) <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"> <table border="1"> <tbody><tr> <td>row 1, cell 1</td> <td>row 1, cell 2</td> </tr> <tr> <td>row 2, cell 1</td> <td>row 2, cell 2</td> </tr> </tbody></table><br><br><br /><br />-----------<br />Mail sent from http://ctrlq.org/html-mail
Zaś z poziomu kodu:
Subject: =?utf-8?B?V0HFu05F?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Message-ID: <b829c474-604b-48c0-8259-d614a4474a1f@xxxxxxx> Return-Path: dzial.kadr@vsoften.de PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNo YXJzZXQ9aXNvLTg4NTktMiI+PHRhYmxlIGJvcmRlcj0iMSI+PHRib2R5Pjx0cj48dGQ+cm93 IDEsIGNlbGwgMTwvdGQ+PHRkPnJvdyAxLCBjZWxsIDI8L3RkPjwvdHI+PHRyPjx0ZD5yb3cg MiwgY2VsbCAxPC90ZD48dGQ+cm93IDIsIGNlbGwgMjwvdGQ+PC90cj48L3Rib2R5PjwvdGFi bGU+PGJyPjxicj4=
Wyraźnie widać że nie ustawił sobie odpowiedniego MIME, tyle że nie wiem czemu - jedyne co mi do łba przychodzi, to ustawienie serwera w taki sposób że zawsze idzie z niego plain text - no ale może macie jakieś inne wyjaśnienie o którym nie wiem :) ?
Z góry dzięki za info - jak się okaże że to config naszego serwera to może być kicha bo pewnie zmian w tej kwestii nie wymuszę.
Pozdro.
Offline
Nie wiem jak ci pomóc, najpierw nie napisałeś, że to w .NET (C#? VB?). Zasada skoro nie napisał to pewnie to PHP nie zadziałała ;] Teraz chcesz żebyśmy zgadywali co robisz źle po treści wiadomości, która przychodzi. Może czas żebyś wkleił kod, który wysyła maila? Nie pozostaje odesłać do google, może jakiś konkretny link - http://csharp.net-informations.com/communications/c … tml-email.htm .
Offline
@kamikaze:
Sorry za zamotę, wysyłać staram się z przy wykorzystaniu .NET i C#, niestety jestem zmuszony do korzystania z biblioteki wewnętrznej firmy w której pracuję, a z tego co widzę nigdzie nie idzie ustawić parametru "mail.IsBodyHtml = true;" ani żadnego innego (ani żadnych podobnych) z linka który podałeś - więc pewnie autor modułu nie przewidział że ktoś będzie chciał słać wiadomości html :/
Sposób wysyłania wygląda tak że najpierw tworzę obiekt typu mail i potem ustawiam od kogo, do kogo, temat i na końcu próbowałem na sztywno walnąć treść w stylu:
email.Content = "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-2\"><table border=\"1\"><tbody><tr><td>row 1, cell 1</td><td>row 1, cell 2</td></tr><tr><td>row 2, cell 1</td><td>row 2, cell 2</td></tr></tbody></table><br><br>";
,myślałem że wystarczy podać odpowiednio treść a poczta wszystko ładnie sama zinterpretuje... samo wysyłanie realizuje webservice na konfigurację którego nie mam za bardzo wpływu.
Dzięki za pomoc, ale wygląda na to że niewiele z tego będzie, przez ograniczenia biblioteki (no chyba że macie jakieś inne pomysły).
Pozdro.
Offline
Może po prostu skontaktuj się z twórcą tej biblioteki, skoro pracujecie w jednej firmie nie powinien być to problem. Pewnie podpowie jak to zrobić, a jeśli biblioteka tego nie umożliwia może uda się ją rozbudować.
Offline
Strony: 1