• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

PHPMailer wysyła mail jakby sam do siebie (na to samo konto)

0 głosów
162 wizyt
pytanie zadane 26 kwietnia 2018 w PHP, Symfony, Zend przez smokolisz Mądrala (5,760 p.)

Cześć, mam problem z PHPMailerem
Użytkownik podaje w polu swój email, temat, treść wiadomości i klika wyślij.
Chciałbym, żeby PHPMailer wysłał wiadomość na podany email w kodzie (email@wp.pl) z emaila który podał użytkownik, tymczasem udało mi się jedynie zrobić tak, że podaje hasło i login do skrzynki na wp lub gmail, po czym wiadomość wysyła się sama do siebie (wysyłam email z adresu email@wp.pl i przychodzi on na email@wp.pl, a ja bym chciał żeby wysłał mail z emailu podanego od użytkownika przykładowo radek2233@wp.pl została wysłana na mój email np rychu331@wp.pl)
Jeżeli coś jest nie jasne czekam na pytania :)

<?php

				
				use PHPMailer\PHPMailer\PHPMailer;
				use PHPMailer\PHPMailer\Exception;


				require __DIR__ . '/vendor/autoload.php';

				$require = new PHPMailer;

				// Import PHPMailer classes into the global namespace
				// These must be at the top of your script, not inside a function

				function send_mail($config)
				{
					
					$mail = new PHPMailer;    

										  // Passing `true` enables exceptions
					try {
						$mail->CharSet = 'UTF-8';
						//Server settings
						$mail->SMTPDebug = 0;                                 // Enable verbose debug output
						$mail->isSMTP();                                      // Set mailer to use SMTP
						$mail->Host = 'smtp.wp.pl';  // Specify main and backup SMTP servers
						$mail->SMTPAuth = true;                               // Enable SMTP authentication
						$mail->Username = 'email@wp.pl';                 // SMTP username
						$mail->Password = 'pass';                           // SMTP password
						$mail->SMTPSecure = 'ssl';                            // Enable TLS encryption, `ssl` also accepted
						$mail->Port = 465;                                    // TCP port to connect to

						//Recipients
						$mail->setFrom('email@wp.pl', 'Adam');
						$mail->addAddress('email@wp.pl', 'Adam');     // Add a recipient
						//$mail->addAddress('ellen@example.com');               // Name is optional
						$mail->addReplyTo($config->from_email, $config->from_name);
						//$mail->addCC('cc@example.com');
						//$mail->addBCC('bcc@example.com');

						//Attachments
						//$mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
						//$mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name

						
						
						//Content
						$mail->isHTML(true);     
						// Set email format to HTML
						$mail->Subject = $config->mail_subject;
						$mail->Body    = $config->mail_body."<br><br><br>Wiadomość od: ".$config->from_email."<br><br>".$config->from_name;
						
						
						
						$html = new \Html2Text\Html2Text($mail->Body);
						$mail->AltBody = $html->getText();;
						
						
						
						$mail->send();
						echo 'Wysłano wiadomość';
					} catch (Exception $e) {
						echo 'Nie udało się wysłać wiadomości! Proszę powiadom mnie o tym błędzie, error: ', $mail->ErrorInfo;
					}
					
				}
					
					if ($_SERVER['REQUEST_METHOD'] === 'POST') {

					$config = (object) [
						'from_email' => $_POST['from_email'],
						'from_name' => $_POST['from_name'],
						'mail_subject' => $_POST['mail_subject'],
						'mail_body' => $_POST['mail_body'],
					];
					send_mail($config);
					
				}

				?>

                 <form action="" method="POST">
                
                    <input type="text" name="mail_subject" placeholder="Temat wiadomości"><br>
                    <textarea style="width: 600px;height:357px;word-wrap: break-word;max-width:100%; font-size:17px;" name="mail_body" cols="x" rows="y"placeholder="Treść wiadomości"></textarea><br>
                    <input type="text" name="from_email" placeholder="Twój email">
                    <input type="text" name="from_name" placeholder="Twoje imię">        
                    
                    <button type="submit">Wyślij</button>
                    
                </form>

 

 

 

1
komentarz 26 kwietnia 2018 przez Assasz Nałogowiec (29,010 p.)
$mail->setFrom('email@wp.pl', 'Adam');
$mail->addAddress('email@wp.pl', 'Adam');

Dziwisz się, że wysyła sam do siebie?

Poza tym to tak nie działa, nie wyślesz maila z adresu użytkownika, zawsze mail jest wysyłany z konta, które serwer autoryzuje (tego, którego podajesz username i password).

1 odpowiedź

+1 głos
odpowiedź 2 maja 2018 przez CzikaCarry Szeryf (75,460 p.)
wybrane 23 maja 2018 przez smokolisz
 
Najlepsza
Rozumiem że chcesz wysłać maila w imieniu uzytkownika, z jego emaila? No nie za bardzo, gdyby tak było, to każdy by się pod każdego podszywał :)

Podobne pytania

0 głosów
1 odpowiedź 155 wizyt
pytanie zadane 24 września 2018 w PHP, Symfony, Zend przez 1001 Początkujący (260 p.)
0 głosów
0 odpowiedzi 34 wizyt
0 głosów
1 odpowiedź 286 wizyt
pytanie zadane 4 grudnia 2017 w PHP, Symfony, Zend przez makoszet Początkujący (360 p.)
Porady nie od parady
Publikując kody źródłowe korzystaj ze specjalnego bloczku koloryzującego składnię (przycisk z napisem code w edytorze). Nie zapomnij o ustawieniu odpowiedniego języka z rozwijanego menu oraz czytelnym formatowaniu kodu.Przycisk code

64,950 zapytań

111,424 odpowiedzi

234,495 komentarzy

46,784 pasjonatów

Przeglądających: 246
Pasjonatów: 12 Gości: 234

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...