Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] PHPmailer - nie akceptuje adresów z .pl?
Forum PHP.pl > Forum > Przedszkole
Vocatio
Witam!
poniważ interesuje mnie temat uwierzytelninia adresu email zacząłem szukać na forum informacji o skrypcie do wysyłania maili. Wybór padł na PHPmaila. Ściągnąłem skrypt 7.13 i zaczałem sie nim bawić. Niestety napotkałem na problem związany z nieobsługiwaniem adresów z domen pl np. wp.pl czy onet.pl. po wpisaniu adresu skrzynki jaka mam na serwerze spvn.com mail poszedl.
Próbowałem się przebić przez skrypt w celu odnalezienia przyczyny - jednak o ile odnalazłem funkcję to jednak nie wiele mi to mówi.
Czy ktoś się z tym spotkał i wie co nalezy załączyc/przełączyć lub wyłączyć?
poniżej "starter":
  1. <?php
  2. require("class.phpmailer.php");
  3.  
  4. $mail = new PHPMailer();
  5.  
  6. $mail->IsSMTP();  // send via SMTP
  7. $mail->Host  = "xxx"; // SMTP servers
  8. $mail->SMTPAuth = false;  // turn on SMTP authentication
  9. $mail->Username = "xxx"; // SMTP username
  10. $mail->Password = "xxx"; // SMTP password
  11.  
  12. $mail->From  = "xxx1@spvn.com";
  13. $mail->FromName = "Mailer";
  14. $mail->AddAddress("xxx2@spvn.com");  // optional name
  15. $mail->AddReplyTo("","");
  16.  
  17. $mail->WordWrap = 50; // set word wrap
  18. $mail->AddAttachment("/var/tmp/file.tar.gz"); // attachment
  19. $mail->AddAttachment("/tmp/image.jpg", "new.jpg"); 
  20. $mail->IsHTML(true);  // send as HTML
  21.  
  22. $mail->Subject = "Here is the subject";
  23. $mail->Body  = "This is the <b>HTML body</b>";
  24. $mail->AltBody = "This is the text-only body";
  25.  
  26. if(!$mail->Send())
  27. {
  28.  echo "Message was not sent <p>";
  29.  echo "Mailer Error: " . $mail->ErrorInfo;
  30.  exit;
  31. }
  32.  
  33. echo "Message has been sent";
  34. ?>

oraz fragment pliku class.phpmailer.php który powoduje wyłapanie "błędu"
  1. <?php
  2. // Attempt to send attach all recipients
  3. for($i = 0; $i < count($this->to); $i++)
  4. {
  5. if(!$this->smtp->Recipient($this->to[$i][0]))
  6. $bad_rcpt[] = $this->to[$i][0];
  7. }
  8. for($i = 0; $i < count($this->cc); $i++)
  9. {
  10. if(!$this->smtp->Recipient($this->cc[$i][0]))
  11. $bad_rcpt[] = $this->cc[$i][0];
  12. }
  13. for($i = 0; $i < count($this->bcc); $i++)
  14. {
  15. if(!$this->smtp->Recipient($this->bcc[$i][0]))
  16. $bad_rcpt[] = $this->bcc[$i][0];
  17. }
  18.  
  19. if(count($bad_rcpt) > 0) // Create error message
  20. {
  21. for($i = 0; $i < count($bad_rcpt); $i++)
  22. {
  23. if($i != 0) { $error .= ", "; }
  24. $error .= $bad_rcpt[$i];
  25. }
  26. $error = $this->Lang("recipients_failed") . $error;
  27. $this->SetError($error);
  28. $this->smtp->Reset();
  29. return false;
  30. }
  31. ?>


Za podpowiedzi z góry dziękuję.
Czy ewentualny wpływ może mieć to że wysyłam i odbieram maila z serwera SPVN.com?
nitro18
Ja przetestowałem skrypt i działa. Sprawdź pod WP

Spróbuje Ci pomóc.

1. Wywal z katalogu phpmailera i jeszcze raz rozpakuj pliki archiwum do katalogu.
2. Utwórz plik w tym samym katalogu gdzie znajduje się class.phpmailer.php np. o nazwie test.php

Wsadź poniższy kod i zastąp potrzebne dane do wysłania (komentarze pomogą Ci)

  1. <? 
  2.  
  3. require("class.phpmailer.php");
  4.  
  5. $mail = new PHPMailer();
  6.  
  7. //podaj swój email
  8. $mail->From  = "";
  9.  
  10. //Tytuł
  11. $mail->FromName = "Test PHPMAILEr";
  12.  
  13. //host
  14. $mail->Host  = "smtp.wp.pl";
  15.  
  16. //typ mailera smtp, sendmail, mail
  17. $mail->Mailer  = "smtp";
  18.  
  19. //autoryzacja SMTP włączona
  20. $mail->SMTPAuth = true;
  21.  
  22. //PODAJ DANE SMTP
  23. $mail->Username = "";
  24. $mail->Password = "";
  25. //włącz html
  26. $mail->IsHTML = true;
  27.  
  28. //kodowanie
  29. $mail->CharSet = "iso-8859-2";
  30.  
  31. //potwierdzenie przeczytania
  32. //$mail->ConfirmReadingTo = "aaa@127.0.0.1";
  33.  
  34. $mail->ContentType = "text/plain" ;
  35.  
  36. //dołącza załączniki
  37. //$mail->AddAttachment("test.png");
  38.  
  39. //priorytet 1 - H, 3- N, 5 - L
  40. $mail->Priority = 1 ;
  41.  
  42.  
  43. $mail->SMTPDebug = false;
  44.  
  45. //czas 
  46. //$mail->Timeout = 120;
  47.  
  48.  
  49. $mail->WordWrap = 0 ;
  50.  
  51. //dodaje adres
  52. //$mail->AddAddress (string $address, [string $name = ""]) 
  53.  
  54. //bcc
  55. //$mail->AddBCC (string $address, [string $name = ""]) 
  56.  
  57. //cc
  58. //$mail->AddCC ("aaa@127.0.0.1", "Woj"); 
  59.  
  60. $mail->SetLanguage("pl", "language");
  61.  
  62.  
  63. //TRESĆ MEESAGE
  64. $mail->Body = "How are you? `1234567890-=qwertyuiop<br>n[]asdfghjkl;'zxcvbnm,./ęóąśłżźćń";
  65.  
  66. //DO KOGO (najlepiej do siebie lub na drugi email)
  67. $mail->AddAddress("");
  68.  
  69.  
  70. //koniec dlaej skrypty
  71. if($mail->Send())
  72. echo "Wysłano!<br>";
  73.  
  74.  
  75.  
  76.  //$mail->ClearAddresses();ClearAllRecipients();ClearAddresses();ClearAttachments*();ClerBCCs () 
  77. //ClearBCCs () 
  78. //ClearCCs () 
  79. //ClearCCs () 
  80. //ClearCustomHeaders () 
  81. //ClearCustomHeaders () 
  82. //ClearReplyTos () 
  83. //Clears all recipients assigned in the ReplyTo array. Returns void.
  84. //ClearReplyTos () 
  85. $mail->SMTPClose();
  86.  
  87. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.