• 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)

VPS Starter Arubacloud
0 głosów
477 wizyt
pytanie zadane 26 kwietnia 2018 w PHP przez smokolisz Mądrala (6,340 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 (30,460 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,340 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ź 484 wizyt
pytanie zadane 24 września 2018 w PHP przez 1001 Początkujący (260 p.)
0 głosów
1 odpowiedź 430 wizyt
pytanie zadane 15 grudnia 2019 w PHP przez rickert Nowicjusz (120 p.)
+1 głos
0 odpowiedzi 80 wizyt
pytanie zadane 16 listopada 2021 w PHP przez FabQ Początkujący (450 p.)

92,454 zapytań

141,262 odpowiedzi

319,089 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...