Seite 1 von 1

E-Mail Zustellung erfolgt nicht wenn Absender und Empfänger Yahoo Adressen haben

Verfasst: Di 8. Mai 2018, 12:10
von FriedrichA
Hallo,
in den letzten Wochen häufen sich die Informationen, dass E-Mails an den Empfänger nicht zugestellt werden, wenn Absender und Empfänger beim selben Anbieter, Bsp. Yahoo, eine E-Mail Adresse haben. Von unserem Provider wurde mitgeteilt, dass wir reply-to nutzen sollen. Allerdings weiß ich nicht, wie ich anhand des nachstehenden Aufbaus dieses einbinden müsste. In den we:Tags fand ich dazu auch nichts. Hat von euch jemand dieses Problem schon gehabt und eine Lösung gefunden? Vielen Dank schon vorab.

Den Empfänger verwalten wir über Objekte. Hier tragen wir auch dessen E-Mail ein.
Der Absender füllt das Formular aus und trägt dabei seine E-Mail Adresse ein.

### ANFANG ###
<we:comment>Pflichtfelder festlegen, zusaetzlich sind immer Pflicht: Anrede,Vorname,Name,E-Mail</we:comment>
<we:setVar to="global" nameto="mail_required" value="Datum_Bootsvermietung,Abfahrtzeit" />
<we:comment>die folgenden Felder werden aus dem Objekt mit in der E-Mail zur Verfuegung gestellt</we:comment>
<we:setVar to="global" nameto="mail_object_fields" value="Titel,Ansprechpartner,Strasse,PLZ,Ort,Ortszusatz,Telefon,Telefax,Mobil,Email" />

<we:comment>Rubrik für dieses Formular festlegen</we:comment>
<we:setVar to="global" nameto="mail_rubrik" value="#11# Paddelbootvermietung" />

<we:comment>Daten fuer E-Mail an den Anbieter</we:comment>
<we:setVar to="global" nameto="mail_content_id" value="361" />
<we:setVar to="global" nameto="mail_subject" value="Anfrage zur Bootsvermietung über spreewald-info.de" />
<we:setVar to="global" nameto="mail_recipient" from="top" namefrom="Email" />
<we:setVar to="global" nameto="mail_recipient_field" value="" />
<we:setVar to="global" nameto="mail_from" value="" />
<we:setVar to="global" nameto="mail_from_field" value="EMail" />
<we:setVar to="global" nameto="mail_ignore" value="" />

<we:comment>Daten fuer E-Mail an den Gast</we:comment>
<we:setVar to="global" nameto="mail_guest_content_id" value="363" />
<we:setVar to="global" nameto="mail_guest_subject" value="Kopie Anfrage zur Bootsvermietung über spreewald-info.de" />
<we:setVar to="global" nameto="mail_guest_recipient" value="" />
<we:setVar to="global" nameto="mail_guest_recipient_field" value="EMail" />
<we:setVar to="global" nameto="mail_guest_bcc" value="" />
<we:setVar to="global" nameto="mail_guest_from" value="info@spreewald-info.de" />
<we:setVar to="global" nameto="mail_guest_from_field" value="" />
<we:setVar to="global" nameto="mail_guest_ignore" value="" />

<we:include id="159" type="template" comment="Formular verarbeiten" />
<we:include id="231" type="template" comment="Meldung Formular abgeschickt" />
<we:include id="229" type="template" comment="Meldung Formular erfolgreich versandt" />
<we:include id="230" type="template" comment="Meldung Formular nicht versandt" />
### ENDE ###

Re: E-Mail Zustellung erfolgt nicht wenn Absender und Empfänger Yahoo Adressen haben

Verfasst: Di 8. Mai 2018, 13:08
von WBTMagnum
Hallo Friedrich,

Die wesentliche Frage ist, wie der Versand der E-Mail dann erfolgt und welche Einstellungen ihr vorgenommen habt.

Liebe Grüße,
Sascha

Re: E-Mail Zustellung erfolgt nicht wenn Absender und Empfänger Yahoo Adressen haben

Verfasst: Mi 9. Mai 2018, 08:48
von FriedrichA
Hallo und Guten Morgen Sascha,

vielen Dank für die Rückmeldung. Wo finden wir das alles raus? Macht es Sinn einen Telefontermin zu vereinbaren, an dem wir einen Zugriff einrichten?

VG
André Friedrich

Re: E-Mail Zustellung erfolgt nicht wenn Absender und Empfänger Yahoo Adressen haben

Verfasst: Mi 9. Mai 2018, 09:50
von WBTMagnum
Hallo Friedrich,

Schaut mal in der Template mit der ID "159" zum Verarbeiten des Formulars. Die E-Mailsettings findet ihr in den allgemeinen Einstellungen im Reiter "E-Mail".

HTH,
Sascha

Re: E-Mail Zustellung erfolgt nicht wenn Absender und Empfänger Yahoo Adressen haben

Verfasst: Mi 9. Mai 2018, 15:11
von FriedrichA
Hallo Sascha,

Template 159
### Anfang ###
<we:ifNotEditmode>
<we:include once="true" id="158" type="template" comment="tsTools" />
<?php
$aRequired = array_merge(array('Anrede', 'Vorname', 'Name', 'EMail'), ((!empty($mail_required)) ? explode(',', $mail_required) : array()));
$aIgnoreFields = ((!empty($mail_required)) ? explode(',', $mail_ignore) : array());
$aIgnoreFields[] = 'we_objectID';
$aIgnoreFields[] = 'we_oid';
$aIgnoreFields[] = 'we_cmd';
$aIgnoreFields[] = 'captchacode';
$aIgnoreFields[] = 'formSend';
$aIgnoreFields[] = 'sendForm';
$aIgnoreFields[] = 'Nachname';
$aIgnoreFields[] = '_pk_id_1_a0a1';
$aIgnoreFields[] = '_pk_ref_1_a0a1';
$aIgnoreFields[] = '_pk_ses_1_a0a1';
$aIgnoreFields[] = 'PHPSESSID';
$aIgnoreFields[] = 'gads';
$aIgnoreFields[] = '_gads';
$aIgnoreFields[] = 'PIWIKSESSID';
$aIgnoreFields[] = 'WESESSION';

$aMissingFields = array();
$sContent = '';
$sContentAdmin = '';
$GLOBALS['aEmailFields'] = array();
$GLOBALS['bFormSent'] = false;
$GLOBALS['bFormSuccess'] = false;
$GLOBALS['bFormMissingFields'] = false;

if (we_tag('ifVarSet', array('name' => 'Email_Betreff')) && we_tag('ifNotEmpty', array('match' => 'Email_Betreff'))) {
$mail_subject = we_tag('var', array('name' => 'Email_Betreff'));
$mail_guest_subject = 'Kopie '.we_tag('var', array('name' => 'Email_Betreff'));
$mail_admin_subject = we_tag('var', array('name' => 'Email_Betreff'));
}

if ((we_tag('ifVarSet', array('name' => 'sendForm', 'type' => 'request'))) && (isset($_REQUEST['Nachname'])) && (empty($_REQUEST['Nachname']))) {

$GLOBALS['bFormSent'] = true;
// check required Fields
foreach($aRequired as $sKey => $sFieldname) {
if (we_tag('ifVarEmpty', array('type' => 'request', 'match' => $sFieldname))) {
$aMissingFields[$sFieldname] = true;
$GLOBALS['bFormMissingFields'] = true;
}
}

if (count($aMissingFields) == 0) {
// detect longest label
$iLongest_form_label = (int) 0;
foreach ($_REQUEST as $sName => $sValue) {
if (!in_array($sName,$aIgnoreFields)) {
if (strlen($sName) > $iLongest_form_label) {
$iLongest_form_label = strlen($sName);
}
}
}

$aObjectFields = explode(",",$mail_object_fields);
if (count($aObjectFields) > 0) {
foreach($aObjectFields as $sField) {
if (strlen('Anbieter.'.$sField) > $iLongest_form_label) {
$iLongest_form_label = strlen('Anbieter.'.$sField);
}
}
}

if (strlen('E-Mail_Gastgeber') < $longest_form_label) {
$longest_form_label = strlen('E-Mail_Gastgeber');
}
if (strlen('Bundesland') < $longest_form_label) {
$longest_form_label = strlen('Bundesland');
}
if (strlen('Rubrik') < $longest_form_label) {
$longest_form_label = strlen('Rubrik');
}


// compose email form fields part
foreach ($_REQUEST as $sName => $sValue) {
if (!in_array($sName,$aIgnoreFields)) {
$GLOBALS['aEmailFields']['{'.$sName.'}'] = html_entity_decode(strip_tags((is_array($sValue) === TRUE ? implode(', ', $sValue) : $sValue)));
$sContent .= tsTools::prepareLabel($sName).':'.tsTools::getSpacer($iLongest_form_label, $sName).html_entity_decode(strip_tags((is_array($sValue) === TRUE ? implode(', ', $sValue) : $sValue)))."<br>";
$sContentAdmin .= $sName.'::'.tsTools::getSpacer($iLongest_form_label, $sName).html_entity_decode(strip_tags((is_array($sValue) === TRUE ? implode(', ', $sValue) : $sValue)))."\r\n";
}
}

// hier zusatzfelder admin Bundesland, E-Mail Gastgeber (aus Objekt bekommen! -> recipient), Rubrik
// Anbieter Felder ermitteln
$aObjectFields = explode(",",$mail_object_fields);
if (count($aObjectFields) > 0) {
foreach($aObjectFields as $sField) {
$GLOBALS['aEmailFields']['{Anbieter.'.$sField.'}'] = we_tag('var', array('name' => $sField));
}
}
$GLOBALS['aEmailFields']['Rubrik'] = (isset($GLOBALS['mail_rubrik']) ? $GLOBALS['mail_rubrik'] : '');
$GLOBALS['aEmailFields']['E-Mail_Gastgeber'] = (empty($mail_recipient) ? we_tag('var', array('name' => $mail_recipient_field, 'type' => 'request')) : $mail_recipient);
$GLOBALS['aEmailFields']['Bundesland'] = tsTools::federal_state_by_zip_and_city(html_entity_decode(strip_tags(trim($_POST['PLZ']))), html_entity_decode(strip_tags(trim($_POST['Wohnort']))));

// send E-Mails
// Anbieter
$mail_subject = tsTools::applyReplacements($mail_subject, $GLOBALS['aEmailFields']);
$GLOBALS['aEmailFields']['{Datenuebersicht}'] = $sContent;
if ((empty($mail_from)) && (!empty($mail_from_field))) {
$mail_from = we_tag('var', array('name' => $mail_from_field, 'type' => 'request'));
}
if ((empty($mail_recipient)) && (!empty($mail_recipient_field))) {
$mail_recipient = we_tag('var', array('name' => $mail_recipient_field, 'type' => 'request'));
}
//$mail_recipient = 'info@aod.de';
?><we:sendMail id="$mail_content_id" subject="$mail_subject" recipient="$mail_recipient" recipientBCC="$mail_bcc" from="$mail_from" mimetype="text/html" charset="utf-8" /><?php

// Guest
$mail_guest_subject = tsTools::applyReplacements($mail_guest_subject, $GLOBALS['aEmailFields']);
$GLOBALS['aEmailFields']['{Datenuebersicht}'] = $sContent;
if ((empty($mail_guest_from)) && (!empty($mail_guest_from_field))) {
$mail_guest_from = we_tag('var', array('name' => $mail_guest_from_field, 'type' => 'request'));
}
if ((empty($mail_guest_recipient)) && (!empty($mail_guest_recipient_field))) {
$mail_guest_recipient = we_tag('var', array('name' => $mail_guest_recipient_field, 'type' => 'request'));
}

?><we:sendMail id="$mail_guest_content_id" subject="$mail_guest_subject" recipient="$mail_guest_recipient" recipientBCC="$mail_guest_bcc" from="$mail_guest_from" mimetype="text/html" charset="utf-8" /><?php

// admin
$sContentAdmin = 'Rubrik::'.tsTools::getSpacer($iLongest_form_label, 'Rubrik').html_entity_decode(strip_tags($GLOBALS['aEmailFields']['Rubrik']))."\r\n".$sContentAdmin;
$sContentAdmin = 'E-Mail_Gastgeber::'.tsTools::getSpacer($iLongest_form_label, 'E-Mail_Gastgeber').html_entity_decode(strip_tags($GLOBALS['aEmailFields']['E-Mail_Gastgeber']))."\r\n".$sContentAdmin;
$sContentAdmin = 'Bundesland::'.tsTools::getSpacer($iLongest_form_label, 'Bundesland').html_entity_decode(strip_tags($GLOBALS['aEmailFields']['Bundesland']))."\r\n".$sContentAdmin;

$mail_admin_subject = tsTools::applyReplacements($mail_admin_subject, $GLOBALS['aEmailFields']);
$GLOBALS['aEmailFields']['{Datenuebersicht}'] = $sContentAdmin;
if ((empty($mail_admin_from)) && (!empty($mail_admin_from_field))) {
$mail_admin_from = we_tag('var', array('name' => $mail_admin_from_field, 'type' => 'request'));
}
if ((empty($mail_admin_recipient)) && (!empty($mail_admin_recipient_field))) {
$mail_admin_recipient = we_tag('var', array('name' => $mail_admin_recipient_field, 'type' => 'request'));
}
//$mail_admin_recipient = 'info@aod.de';
?><we:sendMail id="$mail_admin_content_id" subject="$mail_admin_subject" recipient="$mail_admin_recipient" recipientBCC="$mail_admin_bcc" from="$mail_admin_from" mimetype="text" charset="utf-8" /><?php

$GLOBALS['bFormSuccess'] = true;
}

}
?>
</we:ifNotEditmode>
### Ende ###

E-Mail Settings
Einstellungen > E-Mail
Mailer Typ: Benutzer php mail() Funktion

Re: E-Mail Zustellung erfolgt nicht wenn Absender und Empfänger Yahoo Adressen haben

Verfasst: Mi 9. Mai 2018, 16:09
von WBTMagnum
Hallo Friedrich,

So wie das konfiguriert ist, werden hier Mails für andere User über die Mail-Funktion des Webservers versendet. Das ist unsauber und kann potentiell als Mailschleuder missbraucht werden. Dementsprechend werden hier vernünftige Mailserver eine Zustellung unterbinden.

Für einen sauberen Versand der E-Mail solltet ihr:
  1. Ein eigenes E-mail Account einrichten, z.B. noreply@meine.domain.
  2. Das Account könnt ihr dann in den webEdition Einstellungen hinterlegen, damit die für den Versand verwendet wird.
  3. Beim Versand mit dem Attribut "reply" den reply-to Header auf "mail_from" setzen.


So sollte das grundsätzlich funktionieren.

HTH,
Sascha

Re: E-Mail Zustellung erfolgt nicht wenn Absender und Empfänger Yahoo Adressen haben

Verfasst: Mi 9. Mai 2018, 16:32
von FriedrichA
Hallo Sascha,

besten Dank. Könnt ihr das für uns bitte im Livesystem anpassen? Natürlich gegen Aufwandsberechnung.

VG
André Friedrich

Re: E-Mail Zustellung erfolgt nicht wenn Absender und Empfänger Yahoo Adressen haben

Verfasst: Fr 11. Mai 2018, 16:15
von WBTMagnum
JFTR: Wir konnten das nun wie beschrieben klären.

@André: Kannst du das Thema bitte noch als gelöst markieren. Danke.