mail library example addattachment php phpmailer

library - phpmailer example download



phpmailer: responder usando solo la dirección "Responder a" (2)

¡He encontrado la respuesta a esto, y es molesto / frustrantemente simple! Básicamente, la respuesta a las direcciones debe agregarse antes de la dirección de origen:

$mail->AddReplyTo(''[email protected]'', ''Reply to name''); $mail->SetFrom(''[email protected]'', ''Mailbox name'');

Mirando el código de phpmailer con más detalle esta es la línea ofensiva:

public function SetFrom($address, $name = '''',$auto=1) { $address = trim($address); $name = trim(preg_replace(''/[/r/n]+/'', '''', $name)); //Strip breaks and trim if (!self::ValidateAddress($address)) { $this->SetError($this->Lang(''invalid_address'').'': ''. $address); if ($this->exceptions) { throw new phpmailerException($this->Lang(''invalid_address'').'': ''.$address); } echo $this->Lang(''invalid_address'').'': ''.$address; return false; } $this->From = $address; $this->FromName = $name; if ($auto) { if (empty($this->ReplyTo)) { $this->AddAnAddress(''ReplyTo'', $address, $name); } if (empty($this->Sender)) { $this->Sender = $address; } } return true; }

Específicamente esta línea:

if (empty($this->ReplyTo)) { $this->AddAnAddress(''ReplyTo'', $address, $name); }

¡Gracias por su ayuda a todos!

Estoy usando phpmailer en mi sitio web y para ayudar con los problemas de spam he creado un buzón para enviar estos correos electrónicos (usando SMTP).

He configurado los correos electrónicos para que provengan de la dirección del buzón y luego he agregado una respuesta a la dirección a la que deseo que vayan las respuestas:

$mail = new PHPMailer(); $mail->IsSMTP(); $mail->SMTPAuth = true; $mail->SMTPSecure = ''tsl''; $mail->SMTPDebug = 1; $mail->Host = EMAIL_HOST; $mail->Port = EMAIL_PORT; $mail->Username = EMAIL_USER; $mail->Password = EMAIL_PASS; $mail->SetFrom(''[email protected]'', ''Mailbox name''); $mail->AddReplyTo(''[email protected]'', ''Reply to name''); $mail->AddAddress(''[email protected]'', ''User name);

Los correos electrónicos se envían correctamente y parecen pasar por los filtros de correo no deseado, pero cuando presiono responder incluyen tanto la cuenta del buzón como la respuesta a la cuenta .

¿Esto es lo que debe suceder? Solo quiero que aparezca la respuesta a la dirección cuando presiona responder. ¿Esto es posible?

Muchas gracias de antemano por cualquier ayuda ofrecida!

Editar:

En cuanto a los encabezados de correo electrónico, parece que la dirección de origen se está incluyendo en el campo responder a. ¡No tengo ni idea de porqué!

Date: Tue, 1 May 2012 11:16:25 +0100 To: User name <[email protected]> From: Mailbox name <[email protected]> Reply-to: Mailbox name <[email protected]>, Reply to name <[email protected] Subject: Email subject Message-ID: <54c530c0d1f3ff33fc87c4c41c2c9ffd@localhost> X-Priority: 3 X-Mailer: PHPMailer 5.1 (phpmailer.sourceforge.net) MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1_54c530c0d1f3ff33fc87c4c41c2c9ffd" --b1_54c530c0d1f3ff33fc87c4c41c2c9ffd Content-Type: text/plain; charset = "iso-8859-1" Content-Transfer-Encoding: 8bit


Al menos en las versiones actuales de PHPMailers, hay una función clearReplyTos () para vaciar la matriz de respuesta.

$mail->ClearReplyTos(); $mail->addReplyTo([email protected], ''EXAMPLE'');