hmmmm.... ist gut! ich steh ziemlich auf dem Schlauch.
Aber deinem Tipp mit dem Swiftmailer werd ich mal nachgehen, vielleicht bringts mich weiter.
Ich meld mich hier wieder, und geb feedback, morgen muss der newsletter raus, brrrr#paralyzed#
Unerklärlicher Effekt, doppelte punkte in URLs
und haste was gefunden ?
Nein bis jetzt noch nicht. Das Problem besteht immer noch.
Newsletter ging zwar raus, da daer effekt glücklicherweise diesmal nur bei einem Link auftrat.
Bin momentan noch an einer Kopie der Seite dran, auf der ich mal alles testen kann, da die momentane Seite live ist.
Werde Anfang nä. Woche richtig zum testen kommen.
Bleib mit dran :-)
So, ich bin wieder an dem Problem dran.
Ich hab diesen thread zum Thema gefunden:
https://github.com/swiftmailer/swiftmailer/issues/72
Anscheinend liegt es wirklich an der Swiftmailer config.
Hab bereits den sendmail mit dem -i parameter ergänzt, leider ohne Erfolg
[MAIL][transport_sendmail_command] = /usr/sbin/sendmail -bs -i
Probier jetzt mal den Ecoder auf 7bit umzustellen bzw. den Zeichensatz auf utf8
$message->setEncoder(\Swift_Encoding::get7BitEncoding());
$message->setCharset('UTF-8');
Ich bin mir aber nicht sicher, wo ich das zun muss? Im TYPO3 Core?
Ich bin noch auf etwas weiteres gestossen, wie auch in dem github link beschrieben. taucht das Problem erst beim senden von mehreren Mails auf.
Wenn ich über direkt_mail einen Newsletter an:
- 1 adresse verschicke (send test-mail funktion), kein korrupter link
- 5 Adressen verschicke habe ich 1 korrupten link.
- wenn ich an 1000+ verschicke sind es schon 3 korrupte links
Kannst du mir sagen in welcher Datei ich den hier beschriebenen Workaround testen kann? typo3 4.7.
https://github.com/swiftmailer/swiftmailer/issues/216
hi,
im Ordner t3lib/utility gibt es die Datei class.t3lib_utility_mail.php in dieser wird der gesamte E-Mail kram von TYPO3 geregelt. Über einen Hook in dieser Datei wird dann SwiftMailer integriert und der versandt dort deligiert.
im Ordern t3lib/mail/ findest du eine Datei class.t3lib_mail_swiftmaileradapter.php in dieser Datei wird Swiftmailer dann ins System integriert.
Dankschön Karlchen, ich probier das Ganze mal aus.
Allerdings beweg ich mich auf dünnem eis, da ich kein PHP-Entwickler bin:o
Puh...
Ich glaub das übersteigt meine Fähigkeiten.
Ich weiss nicht genau wie oder wo ich in der class.t3lib_mail_swiftmaileradapter.php das encoding anpassen kann.
Es gibt hier eine Variable
$encoding = '';
Aber was muss ich hier eintragen, damit ich mal das 7-bit encoding aktivieren kann?
protected function setBody($body) {
if ($this->boundary) {
// handle multi-part
$bodyParts = preg_split('/--' . preg_quote($this->boundary) . '(--)?/m', $body, NULL, PREG_SPLIT_NO_EMPTY);
foreach ($bodyParts as $bodyPart) {
// skip empty parts
if (trim($bodyPart) == '') {
continue;
}
// keep leading white space when exploding the text
$lines = explode(LF, $bodyPart);
// set defaults for this part
$encoding = '';
$charset = 'utf-8';
$contentType = 'text/plain';
// skip intro messages
if (trim($lines[0]) == 'This is a multi-part message in MIME format.') {
continue;
}
// first line is empty leftover from splitting
array_shift($lines);
while (count($lines) > 0) {
$line = array_shift($lines);
if (preg_match('/^content-type:(.*);( charset=(.*))?$/i', $line, $matches)) {
$contentType = trim($matches[1]);
if ($matches[2]) {
$charset = trim($matches[3]);
}
} elseif (preg_match('/^content-transfer-encoding:(.*)$/i', $line, $matches)) {
$encoding = trim($matches[1]);
} elseif (strlen(trim($line)) == 0) {
// empty line before actual content of this part
break;
}
}
// use rest of part as body, but reverse encoding first
$bodyPart = $this->decode(implode(LF, $lines), $encoding);
$this->message->addPart($bodyPart, $contentType, $charset);
}
} else {
// Handle single body
// The headers have already been set, so use header information
$contentType = $this->message->getContentType();
$charset = $this->message->getCharset();
$encoding = $this->message->getEncoder()->getName();
// reverse encoding and set body
$rawBody = $this->decode($body, $encoding);
$this->message->setBody($rawBody, $contentType, $charset);
}
}
hmm, vielleicht erst mal nur ein Strohhalm ...
Hier wird ebenfalls ein DoppelPunkt Problem beschrieben http://forge.typo3.org/issues/47064, allerdings auch ein einfacherer Workaround:
We solved this problem by switching the default type for mail transport to 'smtp' instead of 'mail'.
$TYPO3_CONF_VARS['MAIL']['transport'] = 'smtp';
Sollte man im InstallTool Einstellen können.
vielleicht auch nur noch mal um deinen Workaround zu testen
ich nehme mal an deinen Newsletter verschickst du über Direct_mail und dort hast du einen Scheduler Task eingerichtet,der das automatische Senden übernimmt ?
Dann kannst du dir zum testen mal diese Datei ansehen:
direct_mail/res/scripts/class.dmailer.php -> und dort die Funktion sendTheMail(),
dort würde ich mal testhalber vor dem
//TODO: do we really need the return value?
$sent = $mailer->send();
deinen Workaorund testen
$mailer->setEncoder(Swift_Encoding::get7BitEncoding());
//TODO: do we really need the return value?
$sent = $mailer->send();
Meister Karlchen, dein Tipp war Gold wert!!!
We solved this problem by switching the default type for mail transport to 'smtp' instead of 'mail'.
$TYPO3_CONF_VARS['MAIL']['transport'] = 'smtp';
Und ich gram da im TYPO3 Core umher, dabei liegt das Problem ganz wo anders.
Über SMTP klappt nun scheinpaar alles. Zumindest auch bei den Tests mit 10 Adressen.
Den Grossen Test gibts dann am Mittwoch wenn 10000 raus gehen :-p
Danke nochmal für deine Hilfe und shcönes Wochenende
Mensch, das freut mich das es geklappt hat 🙂
Mal so nebenbei, woher würdest du wissen das am Mittwoch alles klappt ? Habt ihr irgendein Monitoring oder einfach nur Abonnenten die sich melden wenn was nicht geht ?
Wir verschicken nämlich auch mit direct_mail Newsletter und da gibt es auch gerade ein Problem was ich irgendwie noch klären muss...
Moin moin!
Naja, Mittwoch gehen bei uns ne Menge Newsletter raus, unter anderem auch der Problemfall. Wir haben eine geringe Anzahl an Testern, die uns Rückmeldung geben.
Aber bei meinem Problem dürfte das einfach werdne, dann die ".." sind ja in jeder Mail aufgetreten, d.h. wenn 10 leute keine .. drin haben, sollten auch die anderen sauber sein.
Was hast du für ein Problem? Vielleicht kann ich die weiterhelfen. Bin Zwar kein codecrack, aber mit directmail doch ziemlich fit. ;-)
Moin,
ach so, na gut statistische Hochrechnungen also 🙂
Mein Problem habe ich mal hier als neuen Beitrag erstellt: #115288
Wenn da ne Idee hast, immer her damit. 🙂