Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> mail() - wysłanie mejla z domeny z polską literą
tiar
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 20.08.2007

Ostrzeżenie: (0%)
-----


Stawiam serwis na domenie z polską literą, a dokładniej z "ł", w nazwie domeny. Na razie wrzucam serwis na serwer linusowy z Fedorą, Pleskiem i sendmail'em stojący gdzieś w serwerowniach ovh.pl. I próbuję wysłać mejla potwierdzającego rejestrację za pomocą funkcji mail().

No i tu jest problem. Jak wpiszę w nagłówku adres nadawcy rejestracja@bezPolskiejLitery.pl to wszystko działa dobrze. Jak wpiszę nadawcę rejestracja@ZLiteraŁ.pl to serwer w ogóle tego adresu nie łapie. Mejl się wysyła, ale nadawcą jest anonymous@xxxxx.ovh.net.

CODE
<?php

// Plik zapisany w "UTF-8 without BOM
  
$confirmCode = 123456789;
$email = 'xxx@xxx.pl';
   
// W treści mejla polskie litery działają
$message = 'Drogi użytkowniku.  
Aby zakończyć proces rejestracji w portalu zliterał.pl prosimy o wejście na stronę WWW:
http://www.zliterał.pl.pl/cos_w_get';


// W temacie polskie litery działają jako tako. Outlook odbiera dobrze. Opera coś chrzani (robi się www.zliteraÅ‚.pl)
$subject = "potwierdzenie rejestracji w portalu www.zliterał.pl";
$subject = encodeSlowo($subject);


// Tu jest problem! Pewno muszę jakoś inaczej zakodować polskie litery w nagłówku.
$headers = "From: rejestracja \n" ;
$headers .= "Reply-To: rejestracja@zliterał.pl \n";
$headers .= "X-Mailer: PHP/". phpversion()."\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-type: text/plain; charset=utf-8\n";
$headers .= "Content-Transfer-Encoding: quoted-printable\n";
  
mail($email, $subject, $message, $headers);
  
function encodeSlowo($s) {
  return "=?iso-8850-2?B?" . base64_encode($s) . "?=";
}
?>


Co mam zrobić? W przyszłości do mojej domeny z "ł" będzie podpięty serwer pocztowy, czy może wtedy da się do zrobić jakoś lepiej? Choć zdecydowanie wolałbym rozwiązać problem wcześniej.
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #2





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


z tego co wiem domeny nie mogą mieć polskich znaków
Go to the top of the page
+Quote Post
kwiateusz
post
Post #3


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




źle wiesz winksmiley.jpg http://żółw.pl/

i wg tej strony nie wolno używać polskich znaków w adresach mailowych
Go to the top of the page
+Quote Post
tiar
post
Post #4





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 20.08.2007

Ostrzeżenie: (0%)
-----


Problem rozwiązany:) Dziękiuję Kwiateusz za wskazówkę. Za stroną żółw.pl zacytuję: 

"W przypadku domeny żółw.pl jej przekodowany adres wygląda tak: xn--w-uga1v8h.pl - taka dokładnie nazwa wpisywana jest do serwerów DNS i taką też nazwę przekazują między sobą te serwery."

Idą tym tropem spreparowałem nagłówek, który działa dla mojej domeny.

Przykład dla zółw.pl:

CODE
<?php  
  $headers2 = "From: rejestracja <rejestracja@xn--w-uga1v8h.pl> \n" ;
  $headers2 .= "Reply-To: rejestracja@xn--w-uga1v8h.pl \n";
  $headers2 .= "X-Mailer: PHP/". phpversion()."\n";
  $headers2 .= "MIME-Version: 1.0\n";
  $headers2 .= "Content-type: text/plain; charset=utf-8\n";
  $headers2 .= "Content-Transfer-Encoding: quoted-printable\n";
?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 22:54