Zum Inhalt springen

direct mail +++ fetch-problem +++

Erstellt am 21. Februar 2006 · 16 Antworten · letzte Antwort am 1. März 2006

Tags: Frage

stefansvw ·

Hallo ,

mein Problem ist folgendes.

Nachdem ich in Direct Mail ein HTML-Newsletter eingebunden habe und danach auf "Fetch and compile maildata" drückte, stimmte noch alles. Adressen Plaintext sowie HTML noch OK.

Drückte ich aber den Button "Read URL" kam folgendes Warning raus:

Warning: fopen(http://meine_domain.de/index.php?id=306&type99) [function.fopen]: failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in /typo3/t3lib/class.t3lib_div.php on line 2099

Der Link http://meine_domain.de/index.php?id=306&type99 funktioniert nur halt nicht in plaintext und nichts wird versendet.

Das erste was ich überprüfte ob in der php.ini "allow_url_fopen" auf "On" gesetzt war. Sie war es also das war nicht die Lösung.

In den constants steht folgendes:

plugin.feadmin.dmailsubscription.file.templateFile = EXT:direct_mail_subscription/pi/fe_admin_dmailsubscrip.tmpl
plugin.feadmin.dmailsubscription.email = newsletter@meine-domain.de
plugin.feadmin.dmailsubscription.emailName = Newsletter
plugin.feadmin.dmailsubscription.enablePlain = 1
plugin.feadmin.dmailsubscription.enableHTML = 1
plugin.feadmin.dmailsubscription.pid = 298

plugin.alt.plaintext {
file.template = media/scripts/plaintext_content.tmpl
siteUrl = http://meine-domain.de
}

die Ext. sind so installiert:

plugin_mgm -> 0.0.5 -> global
direct_mail -> 1.0.8 -> global
direct_mail_subscription -> 1.0.3 -> global

eine QuickMail funktioniert auch.

Kann mir jemand sagen oder einen Tip geben was ich noch falsch mache. Damit ich endlich ein Newsletter in HTML sowie TXT versenden kann?

Ich würde Euch sehr danken

Gruß
Stefan

stefansvw ·

Übrigens:

Wenn ich einen Anhang beilege wird die Mail gesendet aber halt ohne Text nur der Anhang allein.

Wenn ich den Anhang danach entferne und nur HTML versenden in den Optionen einstelle. Wird ohne "Warning" abgerufen und kompiliert.

Nur nicht erfolgreich gesendet. Obwohl es als erfolgreich angezeigt wird.

Ich verzweifle bald.
#angry#

Es geht hierbei wohl um die FILES FUNCTIONS in /typo3/t3lib/class.t3lib_div.php

In der wird zuerst nach dem curlUse gefragt (welchen ich übrigens auch schon aktiviert hatte. Erg: Error curl_init()) und als elseif

elseif($fd = fopen($url,'rb'))    {
			while (!feof($fd))	{
				$content.=fread($fd, 5000);
			}
			fclose($fd);
			return $content;
		}

da ist der Übeltäter.

Nur wie kann ich es funktionsfähig machen ?
Wo wird diese zu kompilierende Datei überhaupt temporär abgelegt? Vieleicht ist es ja nur ein Rechteproblem.

Kann mir den wirklich keiner einen kleinen Hinweis geben?

Gruß
Stefan

dfluess ·

Hallo,

hast Du überhaupt für "Include static" plugin.alt.plaintext (99) eingefügt?

Mir scheint, Du hast Plaintext für den Versand aktiviert, aber das Template gar nicht eingebaut.

D.

stefansvw ·

Hallo dfluess,

ich glaube eigentlich nicht.

Was habe ich den ?

Also die Ext. wie unter Post 1 erklärt

Dann folgende Folder mit templates und Plugin:

+ Newsletter
+ main templates
+ navigation templates
+ Plugin Direct Mail Anmeldung
+ tt_adress (ca. 500 Adressen)
+ + Sysfolder Newsletter
+ + Template Direct Mail
+ + HTML Newsletter
+ + Versandobjekte
+ + Versandgruppen

main template "CONSTANTS"

plugin.feadmin.dmailsubscription {
  file.templateFile = EXT:direct_mail_subscription/pi/fe_admin_dmailsubscrip.tmpl
  email = webmaster@xyz.de
  emailName = Newsletter 
  pid = 298
  wrap1 = <div class="csc-header csc-header-n2"><h1> | </h1>
  wrap2 = <div class="bodytext"> | </div>
  color1 = #cccccc
  color2 = #999999
  color3 = #333333
  enablePlain = 1
  enableHTML = 1
}

main template "SETUP"

plugin.feadmin.dmailsubscription >
plugin.feadmin.dmailsubscription = USER_INT
plugin.feadmin.dmailsubscription {
  userFunc = user_feAdmin->init
  includeLibs = media/scripts/fe_adminLib.inc
  templateFile ={$plugin.feadmin.dmailsubscription.file.templateFile}

  # Global wraps
  wrap1.wrap = {$plugin.feadmin.dmailsubscription.wrap1}
  wrap2.wrap = {$plugin.feadmin.dmailsubscription.wrap2}
  color1.wrap = {$plugin.feadmin.dmailsubscription.color1}
  color2.wrap = {$plugin.feadmin.dmailsubscription.color2}
  color3.wrap = {$plugin.feadmin.dmailsubscription.color3}

  // Tables + Commands
  table = tt_address

    // Info-mail setup
  setfixed=1
  setfixed.approve {
    _FIELDLIST = uid
    hidden = 0
  }
  setfixed.DELETE = 1
  setfixed.DELETE._FIELDLIST = uid

  delete = 1
  defaultCmd=create

  // Info-mail setup
  infomail = 1
  infomail.default {
    label = FORGOTPASSWORD
  }

  // Edit setup
  edit = 1
  edit.fields = name, email, module_sys_dmail_category, module_sys_dmail_html
  edit.required = name, email
  edit.evalValues {
    email = uniqueLocal, email
  }

  // Create setup
  create = 1
  create.preview = 0
  create.fields = name, hidden, email, module_sys_dmail_category, module_sys_dmail_html
  create.required = name, email
  create.noSpecialLoginForm = 1
    # Initially hide the user until he approves!
  create.overrideValues.hidden = 1
  create.evalValues {
    email = uniqueLocal, email
  }

  authcodeFields = uid
  authcodeFields.addKey = 
  authcodeFields.addDate = 

  evalErrors.email.uniqueLocal = Apparently you're already registered with this email address!
  evalErrors.email.email = This is not a proper email address!

  parseValues.module_sys_dmail_category = checkArray,setEmptyIfAbsent 
  parseValues.module_sys_dmail_html = setEmptyIfAbsent 
  pid = {$plugin.feadmin.dmailsubscription.pid}

  email.from = {$plugin.feadmin.dmailsubscription.email}
  email.fromName = {$plugin.feadmin.dmailsubscription.emailName}
  email.admin = {$plugin.feadmin.dmailsubscription.email}
  email.field = email
}

Include static:

content (default)
plugin.feadmin.dmailsubscription

navigation templates: Nur funktionierende Menü und Content- Punkte

Sysfolder Newsletter:

mod.web_modules.dmail {
  from_name = medimed GmbH
  from_email= newsletter@xyz.de
  organisation = 
  replyto_email = newsletter@xyz.de
  replyto_name = xyz

  plainParams = &type=99
  HTMLParams = 

    # UID's of the tt_address records to use for test-sending:
  test_tt_address_uids = 437

    # table name of a userdefined table similar to tt_address (same 
       fields) which may be used for distribution also.
  userTable = 

 enablePlain = 1
  enableHTML = 1

  http_username = 
  http_password = 
  sendOptions=3
  categories {
    1 = Food
    2 = Books
    3 = Sport
    4 = Newsletter
  }
}

mod.web_dmail.categories.0=Newsletter
mod.web_dmail.categories.4=
mod.web_dmail.test_dmail_group_uids=8,10
mod.web_modules.dmail.categories.0=Food
mod.web_modules.dmail.categories.1=Books
mod.web_modules.dmail.categories.2=Sport
mod.web_modules.dmail.categories.3=Newsletter
mod.web_modules.dmail.categories.4=
mod.web_modules.dmail.long_link_rdct_url=http://xyz.de/
mod.web_modules.dmail.long_link_mode=1

Enthält die Erweiterung Direct Mail

Template Direct Mail:

Constants, Setup und RootLevel aktiviert

Include static:
template Newsletter
plugin.alt.plaintext (99)

So sieht es im Moment aus.

Aber halt mit diesen doofen Warnings.

Ich nehme schwer an das es am Domainrecord liegt. Gebe ich nämlich die IP an, geht diese auf eine meiner anderen Seiten.

Nur die Subdomain alleine führt zu diesem Typo-Bereich aber das Script bleibt daran wohl hängen obwohl die gesamte Seite auf diese Subdomain konfiguriert ist.

Alle Rechte habe ich schon überprüft. Daran kann es glaube ich nicht mehr liegen.

Hier noch ein Einblick in meine .htaccess

RewriteEngine On
RewriteRule ^(fileadmin|media|misc|t3lib|tslib|typo3|typo3conf|typo3temp|uploads)/ %{REQUEST_FILENAME} [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* /index.php

RewriteRule ^([0-9]+)[.]([0-9]+).html$ /index.php?id=$1&type=$2

# for the extension 404handling comes now the important stuff; you have to adjust the path
ErrorDocument 401 /404page_not_found.php
ErrorDocument 403 /404page_not_found.php
ErrorDocument 404 /404page_not_found.php
ErrorDocument 500 /404page_not_found.php

Gruß
Stefan

dfluess ·

Hallo,

ein bisschen verwirrend so viele Infos..
Aber um noch einmal auf den Fehler zurück zu kommen:
//

Warning: fopen(http://meine_domain.de/index.php?id=306&type99) [function.fopen]: failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in /typo3/t3lib/class.t3lib_div.php on line 2099

//

Was passiert denn, wenn Du den URL
http://meine_domain.de/index.php?id=306
und
http://meine_domain.de/index.php?id=306&type99
beide direkt im Browser eingibst?

Funktioniert ersterer, aber der zweite nicht, dann fehlt das statische template plugin.alt.plaintext (99) für den Aufruf. Der sollte erst mal funktionieren. Rufe aber die Site-ID auf, die als Newsletter versendet werden soll.

D.

stefansvw ·

Hallo dfluess,

Wenn ich

http://meine_domain.de/index.php?id=306

drücke ist die HTML-Version auch da

drücke ich auf

http://meine_domain.de/index.php?id=306&type99

passiert folgendes

Hello. This is default template for plain-text mail content [Newsletter] Aktuell function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i ---------------------------------------------------------------------------- HISTORIE ---------------------------------------------------------------------------- Nun steht ab hier der TXT - Text

also müsste das statische template plugin.alt.plaintext (99)doch aktiviert sein.

Nur warum so mit diesem Anfang und den Warnings.

Ich verzweifle wirklich noch

Gruß
Stefan

dfluess ·

also müsste das statische template plugin.alt.plaintext (99)doch aktiviert sein.

Das sehe ich auch so.. Leider kenne ich diesen Fehler aber nicht.

Spontan würde ich vorschlagen, über die Installation im Database Analyser "Update required tables COMPARE"
und "Dump static data" durchzuführen. Zweiteres schreibt sämtliche statischen Templates neu in die DB. Vielleicht ist ja plugin.alt.plaintext defekt?!

Sichere aber vorher Deine komplette T3 DB

D.

stefansvw ·

Das ist vielleicht eine gute Idee. Ich bin nämlich zuvor mit den Daten zu einem anderen provider gewechselt.

Das werde ich mal versuchen.

Achso ja, zum Schluß der HTML kommen noch folgende Warnings nach dem Debug:

Warning: end() [function.end]: Passed variable is not an array or object in /srv/www/htdocs/medimed-data/t3lib/class.t3lib_timetrack.php on line 299

Warning: implode() [function.implode]: Bad arguments. in /srv/www/htdocs/medimed-data/t3lib/class.t3lib_timetrack.php on line 299

Ich werde es mal versuchen. Danke Dir für den Tip. Vielleicht bringt er mich ja ein Stück weiter.

Gruß
Stefan

stefansvw ·

uahhhh,

nach dem Compare habe ich jetzt auf jeder Seite im Backend folgende Warnings stehen.

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/xxx/typo3/t3lib/class.t3lib_db.php on line 754

Warning: Cannot modify header information - headers already sent by (output started at /srv/www/htdocs/xxx/typo3/t3lib/class.t3lib_db.php:754) in /srv/www/htdocs/xxx/typo3/template.php on line 601

Jetzt ist es noch etwas negativer geworden und ich bekomme auch nicht alle Compare-Einträge weg...

dfluess ·

OK, hast Du das Plaintext-Template denn schon angepasst bzw. mal reingeschaut, wie der Inhalt aussieht? Also z.B. die plaintext_content.tmpl.

Auch solltest Du IMMER darauf achten, jedes der Cache nach einer Änderung geleert wird. Auch ein "Cache in typo3conf/ löschen" ist ratsam, wenn Extensionen installiert, oder geändert worden sind.

D.

stefansvw ·

guten morgen dfluess,

den cache lösche ich eigentlich nach jeder installation sowie konfiguration regelmäßig. Das Template selbst hatte ich noch nicht geändert aber daran dürften die beiden Warnings doch eigentlich nicht liegen oder?

Ich verstehe das forbidden nicht die id=317 wird doch angezeigt.

Auf dem Server laufen drei verschiedene Websites gebe ich die feste IP-Adresse an erreiche ich nur die ersten Webseite sonst keine. Vieleicht kann es ja auch daran liegen.

Weiterhin weiß ich nun wo die zu konvertierende Datei abgelegt wird und wie sie heißen soll. (Dank Log)

Pfad: typo3temp/llxml/
Datei: csh.xml_95fd259b14.de.iso-8859-1.cache

Die Rechte stehen auf nobody:www chmod 777

aber er screibt dies Datei nicht rein 😢

Habe in der Log-Date noch was stehen.

 [debug] mod_rewrite.c(1788-): [client 195.101.164.39] mod_rewrite's internal redirect status: 0/10., referer: http://xxx.de/index.php?id=317

Gruß
Stefan

dfluess ·

Hallo,

dies scheint ein Konfigurationsproblem des Webservers zu sein. Möglicherweise sind einige Rules nicht richtig konfiguriert oder gar nicht gesetzt.

Leider gehört aber die Konfiguration eines Apache-Webservers nicht unbedingt zu meinen stärken. Ich glaube aber, dass in der TYPO3 Docu einiges darüber zu finden ist. Sorry

D.

stefansvw ·

hallo dfluess,

das denke ich bereits auch das es ein Webserver-Problem ist. Danach werde ich mich jetzt richten.

Ich danke Dir aber für Deine geopferte Zeit und wünsche Dir noch einen schönen Tag.

Gruß
Stefan

stefansvw ·

Hallo,

für alle die so ein nerviges Problem auch mal haben und nicht mehr weiterwissen:

Ruft einfach mal beim Provider an und schiltert das Problem.

Die Lösung war die "Firewall" #giggle#

Gruß
Stefan