Forum Coders' city Strona Główna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Potrzebuję szybkiej odpowiedzi na moje pytanie... Zasady

Redagowanie tre?ci maila - jak to robi??

Idź do strony 1, 2  Następny

 
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Sieci komputerowe i Internet
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
samolot



Dołączył: 26 Sty 2006
Posty: 8376
Skąd: Toru?

PostWysłany: Pon Gru 08, 2014 1:11 pm  OP    Temat postu: Redagowanie tre?ci maila - jak to robi?? Odpowiedz z cytatem Pisownia

Robi? funkcj? do wysy?ania dokumentów z programu na wyznaczony adres. Program ma wstawi? pewien okre?lony tekst w tre?? maila. Je?li tekst jest d?u?szy, to funkcja ma go po?ama? na poszczególne wiersze.
I tu nie wiem jak to zrobi?, poniewa? je?li tekst podzieli?em na odcinki, porozdzielane litera?em VBNewLine to mail po odebraniu ma w tre?ci tylko pierwszy wiersz, a reszta jest obci?ta .

Z drugiej za? strony, gdy odbieram inne maile z jak?? tre?ci? i skopiuj? j? na przyk?ad do notatnika, to nie ma w niej podzia?u na wiersze. Dlatego mam pytanie jak to jest z tym redagowaniem tre?ci maila, jak to robi? programy pocztowe?

_________________
Nie zadawaj bezcelowych pyta? / Windows 8.1 / Windows 10 / VB2008 / VB 2010 / VB 2012 / Pisz poprawnie
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email
rzezuch



Dołączył: 18 Lis 2011
Posty: 79
Skąd: znienacka

PostWysłany: Wto Gru 09, 2014 12:00 pm      Temat postu: Odpowiedz z cytatem Pisownia

znacznik <br> zamiast VBNewLine. Przecie? tre?? wiadomo?ci jest html-em :)
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
samolot



Dołączył: 26 Sty 2006
Posty: 8376
Skąd: Toru?

PostWysłany: Wto Gru 09, 2014 8:27 pm  OP    Temat postu: Odpowiedz z cytatem Pisownia

Ju? my?la?em, ?? problem rozwi???, ale niestety, zamiana VBNewLIne na <br> nic nie da?a. Po prostu ci?g <br> zosta? dopisany do wierszy , a poza tym ca?y tekst ciegnie sie, jak makaron, do ko?ca okna poczty na portalu WP.pl. W za??czniku przykladowy tekst odebranego maila nie podzielony na wiersze


Nie po?amany tekst.png
 Opis:

Pobierz
 Nazwa pliku:  Nie po?amany tekst.png
 Wielkość pliku:  51.13 KB
 Pobierano:  245 raz(y)


_________________
Nie zadawaj bezcelowych pyta? / Windows 8.1 / Windows 10 / VB2008 / VB 2010 / VB 2012 / Pisz poprawnie
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email
Sinus32



Dołączył: 20 Sty 2007
Posty: 910

PostWysłany: Wto Gru 09, 2014 8:52 pm      Temat postu: Odpowiedz z cytatem Pisownia

rzezuch napisał:
znacznik <br> zamiast VBNewLine. Przecie? tre?? wiadomo?ci jest html-em :)

Nie zawsze. To programista decyduje czy tre?? jest html-em.
I tu pada podstawowe pytanie: Czy tre?? jest html-em? Bo je?eli jest zwyk?ym tekstem to interpretacja znaku nowej linii spada na klienta poczty. I je?eli klient poczty wypluwa maila tak jak jest na stron? html to nic si? na to nie poradzi.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
samolot



Dołączył: 26 Sty 2006
Posty: 8376
Skąd: Toru?

PostWysłany: Wto Gru 09, 2014 9:30 pm  OP    Temat postu: Odpowiedz z cytatem Pisownia

Takim kodem wstawiam tre?? maila
Kod:
  Dim Mail As New System.Net.Mail.MailMessage(m1, m2)    '(m1 i m2 w nawiasie to adresy nadawcy i odbiorcy)
  Mail.Body = Tresc


Konto pocztowe jest na wp.pl. Strona z poczt? wy?wetla odebran? tre??, ?e tak powiem, 'w sobie'. Je?li nadawca ten tekst pisa? korzystajac okna pisania maila na portalu poczty wp.pl ,to uk?ad tekstu w mailu odebranym jest taki sam, zachowuje podzia? na wiersze.
Je?li za? ja t? tre?? wstawiam z programu tak, jak pokaza?em wy?ej, to jedyn? rzecz?, która na stronie za?amuje tekst , jest koniec okna strony.
Ale na dole maila s? do??czone dwa za?czniki tekstowe. Drugi z nich zawiera tre?? listu. Gdy go klikn??, to otwiera sie w osobnym oknie przegladarki tre?? podzelona na wiersze. Jesli ten tekst skopiowa? do notatnika, to on nie zawija wierszy, bo najprawopodobniej nie ma w tekscie zadnych znaków powrotu do nowej linii.

Nie potrzebuj? tego , by w notatniku by? podzia? na wiersze.
Chcia?bym by po otwarciu maila na stronie poczty te tre?? wi?wietla?a sie z takim podzia?em na wiersze, jak ja to przygotuj? w programie wysy?ajacym.
Wi?c jak to robi? programisci 'z tamtej strony kabla' ?

_________________
Nie zadawaj bezcelowych pyta? / Windows 8.1 / Windows 10 / VB2008 / VB 2010 / VB 2012 / Pisz poprawnie
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email
Sinus32



Dołączył: 20 Sty 2007
Posty: 910

PostWysłany: Wto Gru 09, 2014 11:13 pm      Temat postu: Odpowiedz z cytatem Pisownia

W takim razie wysy?asz wiadomo?? czysto tekstow?.

?eby wys?a? html potrzebujesz czego? podobnego do
Kod:

   Mail.Body = "<b>Test Mail</b><br>using <b>HTML</b>.";
   Mail.BodyEncoding = System.Text.Encoding.UTF8;
   Mail.IsBodyHtml = true;



Nie mam konta na wp, ale wiem ?e np. na tlenie pisz?c maila da si? prze??cza? pomi?dzy pisaniem maila w html a czystym tekstem. Pisanie w html-u jest domy?lne.

Teraz masz dwa wyj?cia. Albo pozosta? przy formacie tekstowym w którym formatowania nie da si? zapisa? i przy którym jeste? skazany na interpretacj? wiadomo?ci przez klienta, albo piszesz maila w html.

Tylko ?e pisanie w html jest upierdliwe. Pobierz sobie ?ród?o dowolnego rozbudowanego maila html z obrazkami w ?rodku. Np: jakiej? nieagresywnej reklamy. Opcja taka jest zwykle dobrze ukryta i pod nazw? podobn? do "Zapisz jako .eml". O ile tylko plik zapisze si? w czystej tekstowej postaci to znajdziesz w nim nag?ówki maila i tre?? w formacie podobnym do
Return-Path: <--->
Received: by ---) with LMTP;
Mon, 01 Dec 2014 13:20:36 +0100
Received: from --- [---]
by --- with ESMTP id ---;
Mon, 01 Dec 2014 13:24:08 +0100
Received-SPF: none (---: domain of ---
does not designate permitted sender hosts)
Date: Mon, 1 Dec 2014 13:24:08 +0100 (CET)
From: ---
To: ---
Message-ID: <--->
Subject: =?UTF-8?Q?---?=
MIME-Version: 1.0
Content-Type: multipart/related;
boundary="----=_Part_885_710334303.1417436648972"
X-O2-Trust: 3, 80
X-O2-SPF: none

------=_Part_885_710334303.1417436648972
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.=
w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=3D"http://www.w3.=
org/1999/xhtml" xml:lang=3D"pl"><head><meta http-equiv=3D"content-type" con=
tent=3D"text/html; charset=3Dutf-8" /><title>---</title><style type=3D"text/css"><!--
=09body, td {
=09=09color: #433D3D;
=09=09font-family: arial;
=09=09font-size: 12px;
...
=09table.foot td
=09{
=09=09padding: 3px;
=09}
=09
=09--></style></head><body><div id=3D"cont"><table style=3D"width: 650px;">=
<tr><td colspan=3D"2" style=3D"width: 650px; height: 90px;" background=3D"c=
id:logo1.jpg"></td></tr><tr><td colspan=3D"2" class=3D"news_title">---
<div class=3D"date">2014-12-01</div></td></tr><B_START>=
<tr><td class=3D"title" colspan=
...
...
...

------=_Part_885_710334303.1417436648972
Content-Type: image/jpeg; name=logo1.jpg
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=logo1.jpg
Content-ID: <logo1.jpg>

/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+ENSWh0dHA6Ly9ucy5hZG9i
ZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6
TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0i
QWRvYmUgWE1QIENvcmUgNC4yLjItYzA2MyA1My4zNT...
...

Tak wi?c samo "<b>Test Mail</b><br>using <b>HTML</b>." to za ma?o.

Klasa MailMessage si? domy?li, ?e musi wys?a? wiadomo?? jako multipart/related jak pododajesz html i za??czniki, ale sama tre?? powinna by? poprawnym dokumentem HTML z pewnymi obostrzeniami. Nie stosujesz divów, layout robisz na tabelkach zawsze, style mog? nie dzia?a? wi?c stosujesz wszystkie znaczniki zdeprecjonowane. Absolutnie nie przejmujesz si? standardem jakiegokolwiek html, a wr?cz u?ywasz wszystkich standardów naraz, ??cznie z tymi niestandardowymi. Maile w html ma?o maj? wspólnego z html przez to, ?e musz? by? czytelne nawet dla najbardziej u?omnych klientów poczty wyposa?onych w okrojone IE 5, oraz dla nowszych klientów którzy rozumiej? xhtml jednocze?nie. To po prostu jedno wielkie bagno.

Cytat:
Je?li nadawca ten tekst pisa? korzystajac okna pisania maila na portalu poczty wp.pl ,to uk?ad tekstu w mailu odebranym jest taki sam, zachowuje podzia? na wiersze.

Sprawd? czy wiadomo?? jest redagowana jako html, czy jako tekst. Je?eli nigdzie nie masz prze??cznika tekst/html to pewno jest to html, ale pewno?? b?dziesz mia? jak takiego maila zapiszesz do .eml, a potem podejrzysz w notatniku.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
samolot



Dołączył: 26 Sty 2006
Posty: 8376
Skąd: Toru?

PostWysłany: Wto Gru 09, 2014 11:21 pm  OP    Temat postu: Odpowiedz z cytatem Pisownia

Ha, he, wla?nie przed chwila wpad?em na to samo, a tu widze, ?e tez to napisale?. Ja w programie mia?em wpisane:
Kod:
            '15. Ustaw czy wiadomo?? ma byc w formacie HTML.
            Mail.IsBodyHtml = False

Zmieni?em to na True i tekst podzielony znacznikami <br> zosta? wyswietlony na stronie poczty tak podzelony na wiersze, jak ja to tymi znacznikami podzieli?em. Ma?o tego, skopiowanie ze strony tego tektu do notatnika zachowuje podzia? na wiersze.
To jest to, co chia?em osiagn??.

_________________
Nie zadawaj bezcelowych pyta? / Windows 8.1 / Windows 10 / VB2008 / VB 2010 / VB 2012 / Pisz poprawnie
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email
Sinus32



Dołączył: 20 Sty 2007
Posty: 910

PostWysłany: Wto Gru 09, 2014 11:26 pm      Temat postu: Odpowiedz z cytatem Pisownia

No to zostaje jeszcze tylko u?y? HtmlEncode do wszystkiego co nie jest "<br>".

Html injection czai si? na ka?dym kroku ;)
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
samolot



Dołączył: 26 Sty 2006
Posty: 8376
Skąd: Toru?

PostWysłany: Wto Gru 30, 2014 7:47 pm  OP    Temat postu: Odpowiedz z cytatem Pisownia

Wróci?em do tego tematu, bo próbowa?em przyk?ad z tej strony dostosowa? dla mojej funkcji ale jest k?opot ; poni?ej jest cytat fragmentu tamtej klasy:
Imports System
Imports System.Web
Imports System.IO

Class MyNewClass
Public Shared Sub Main()
Dim myString As String
Console.WriteLine("Enter a string having '&' or '""' in it: ")
myString = Console.ReadLine()
Dim myEncodedString As String
' Encode the string.
myEncodedString = HttpUtility.HtmlEncode(myString)

W mojej klasie zaimpotowa?em tylko przestrze? System.Web , jak wy?ej w wierszu 2 , i tylko chcia?em u?y? metody HtmlEncode ale nie wiem jak zedeklarowa? klas? HttpUtility, bo próbowa?em tak: Public NotInheritable Class HttpUtility , jak tu pokazano, ale mam komunikat, ?e metoda HtmlEncode jest nie zrozpoznawana.
Celem moim jest tak "zakodowa?" wiersz tekstu by w mailu w formacie html nie gubi? ro?nych znaków interpunkcyjnych itp

_________________
Nie zadawaj bezcelowych pyta? / Windows 8.1 / Windows 10 / VB2008 / VB 2010 / VB 2012 / Pisz poprawnie
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email
JohnB



Dołączył: 07 Mar 2008
Posty: 793

PostWysłany: Wto Gru 30, 2014 8:13 pm      Temat postu: Odpowiedz z cytatem Pisownia

Dodaj w projekcie referencj? do pliku dll System.Web

P.S. Public NotInheritable Class HttpUtilitty to deklaracja nowej klasy, a nie ?adne importowanie przestrzeni.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email
Wyświetl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Sieci komputerowe i Internet Wszystkie czasy w strefie CET (Europa)
Idź do strony 1, 2  Następny
Strona 1 z 2

 
Skocz do:  
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Możesz dodawać załączniki na tym forum
Możesz pobierać pliki z tego forum




Debug: strone wygenerowano w 0.21082 sekund, zapytan = 13
contact

| Darmowe programy i porady Jelcyna | Tansze zakupy w Helionie | MS Office Blog |