cancel
Showing results for 
Search instead for 
Did you mean: 

Emails werden nicht versendet - Problem mit cron.php

Emails werden nicht versendet - Problem mit cron.php

Hallo,

meine Magento-Installation versendet keine Emails. Ich vermute, dass irgendwas mit den Cronjobs nicht richtig konfiguriert ist.

(AOE Scheduler ist installiert)

Wenn ich die cron.sh ausführe, erhalte ich folgende Fehlermeldung:

 

<b>Parse error</b>: syntax error, unexpected T_OBJECT_OPERATOR in <b>/homepages/8/d85143610/htdocs/magento_souvenirs/cron.php</b> on line <b>42</b><br />

 

Ich vermute also, der Fehler ist in der cron.php-Datei; Zeile 42:

 

Mage::app('admin')->setUseSessionInUrl(false);

 

 

 

Hier die Datei gesamte cron.php:

========================================================

<?php
/**
* Magento
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@magentocommerce.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade Magento to newer
* versions in the future. If you wish to customize Magento for your
* needs please refer to http://www.magentocommerce.com for more information.
*
* @category Mage
* @package Mage
* @copyright Copyright (c) 2008 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
*/

// Change current directory to the directory of current script
chdir(dirname(__FILE__));

require 'app/Mage.php';

if (!Mage::isInstalled()) {
echo "Application is not installed yet, please complete install wizard first.";
exit;
}

// Only for urls
// Don't remove this
$_SERVER['SCRIPT_NAME'] = str_replace(basename(__FILE__), 'index.php', $_SERVER['SCRIPT_NAME']);
$_SERVER['SCRIPT_FILENAME'] = str_replace(basename(__FILE__), 'index.php', $_SERVER['SCRIPT_FILENAME']);

Mage::app('admin')->setUseSessionInUrl(false);

umask(0);

$disabledFuncs = explode(',', ini_get('disable_functions'));
$isShellDisabled = is_array($disabledFuncs) ? in_array('shell_exec', $disabledFuncs) : true;
$isShellDisabled = (stripos(PHP_OS, 'win') === false) ? $isShellDisabled : true;

try {
if (stripos(PHP_OS, 'win') === false) {
$options = getopt('m::');
if (isset($options['m'])) {
if ($options['m'] == 'always') {
$cronMode = 'always';
} elseif ($options['m'] == 'default') {
$cronMode = 'default';
} else {
Mage::throwException('Unrecognized cron mode was defined');
}
} else if (!$isShellDisabled) {
$fileName = basename(__FILE__);
$baseDir = dirname(__FILE__);
shell_exec("/bin/sh $baseDir/cron.sh $fileName -mdefault 1 > /dev/null 2>&1 &");
shell_exec("/bin/sh $baseDir/cron.sh $fileName -malways 1 > /dev/null 2>&1 &");
exit;
}
}

Mage::getConfig()->init()->loadEventObservers('crontab');
Mage::app()->addEventArea('crontab');
if ($isShellDisabled) {
Mage::dispatchEvent('always');
Mage::dispatchEvent('default');
} else {
Mage::dispatchEvent($cronMode);
}
} catch (Exception $e) {
Mage:Smiley TonguerintException($e);
exit(1);
}

========================================================

 

Ach ja, auf dem Server ist PHP-Version 5.4 eingestellt (1und1-Server)

 

Kann mir jemand weiterhelfen?

 

Gruß

Stefan

 

21 REPLIES

Re: Emails werden nicht versendet - Problem mit cron.php

Hi

 

wie führst du denn dein Crontab bei 1und1 aus ?

Sieht der in etwa so aus?

 

* * * * * /usr/bin/php5.4-cli /direkter Pfad zur Magento Installation/cron.php -q

Der Fehler deutet auf ein Problem mit dem PHP Interpreter hin. Nutze mal diesen aus der Beispielcodezeile Smiley Happy

 

Gruß Stephan

Re: Emails werden nicht versendet - Problem mit cron.php

Kommentiere mal in der cron.sh die  Zeile 14 aus:

 

#PHP_BIN=`which php`

und setze folgende Zeile mal darunter:

PHP_BIN="/usr/bin/php5.4"

1und1 ist da etwas komisch, aber nach etwas herumprobieren konnte ich das Problem auf unserem Server damit lösen. Vielleicht hilft es dir Smiley Happy

 Gruß Stephan

Re: Emails werden nicht versendet - Problem mit cron.php

Topic has been moved to the German forum. Smiley Happy

James Lee | Moderator • Magento Master
See My Recommended Magento Hosting & Security Tips

Re: Emails werden nicht versendet - Problem mit cron.php

Ich muss ehrlich sagen dass ich länger schon nicht mehr die cron.sh benutzt habe.

Ich verwende immer nur die cron.php

siehe:

https://www.maxanoo.com/magento-verschickt-keine-email/

 

damit sollte es klappen

Mit freundlichen Grüßen, Sebastian Keutmeier

Re: Emails werden nicht versendet - Problem mit cron.php

Hallo Stephan,

vielen Dank dein Tipp hat geholfen. Die Cron-Jobs laufen jetzt.

Allerdings werden Emails noch immer nicht versendet.

 

Anscheinend hab ich da was nicht richtig konfiguriert. Ich nutze die SMTP Pro Email Extension.

Hab da folgende Einstellungen gemacht:

 

Email Connection: custom smtp

Authentication: Anmelden

Username, Passwort: .....

Server: smtp.1und1.de

Port: 587

SSL Security: No SSL

 

Wenn ich den Selbsttest ausführe bekomme ich die Fehlermeldung

".....

Your connection to the SMTP server timed out. Please check with your host that outbound SMTP connections are allowed as this error is most commonly caused when a host blocks outbound connections. This is probably not a bug, please do not email extension support until you have checked with your server admin or host.
Default templates exist.
Email communications are enabled.
Required database tables exist.
Testing failed, ....."

 

Gruß

Stefan

 

Re: Emails werden nicht versendet - Problem mit cron.php

hallo

naja, damit ist das problem schonmal etwas eingegrenzter.

sind sie sich sicher dass der 1und1 server unverschlüsselte smtp verbindungen akzeptiert?

ich habe hier folgendes gefunden:

https://hilfe-center.1und1.de/e-mail-c82645/1und1-e-mail-adresse-c84749/bedienung-c84680/einstellung...

 

Postausgangsserver (SMTP)smtp.1und1.de 
Port für SSL465 
TLS/STARTTLS587 (alternativ 25) 

 

Unverschlüsselte verbindungen sollten doch sehr vermieden werden.

Vielleicht ist das ja schon alles

Mit freundlichen Grüßen, Sebastian Keutmeier

Re: Emails werden nicht versendet - Problem mit cron.php

Um mir das ganze Theater mit den Cronjobs zu ersparen setze ich bei mir die Extension SMTP Pro ein

http://www.magentocommerce.com/magento-connect/smtp-pro-email-free-custom-smtp-email.html

 

Ist eine kostenlose Erweiterung, kann auch verschlüsselt SMTP und funktioniert in meinem Fall hervorragend mit GMail.

Queue Usage auf "Niemals" setzen und alles läuft.

Re: Emails werden nicht versendet - Problem mit cron.php

Hallo Sebastian_keutm,

hab bereits alles probiert. Verschlüsselt und unverschlüsselt. Versch. Ports eingesetzt. Aber funktioniert leider nicht.

 

Gruss Stefan

Re: Emails werden nicht versendet - Problem mit cron.php

Hallo XSized,

danke für den Tipp. Auch ich hab die SMTP-Pro Extension installiert.

 

Aber auch dazu werden doch die Emails dann über den Cronjob versendet, oder verstehe ich das falsch.

 

Blöderweise funktioniert der Selbsttest dieser XTension bei mir auch nicht. Weder mit GMail noch mit 1und1.

 

Gruss

Stefan