vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=252)
-   -   Setting up in scheduled tasks email sending (https://vborg.vbsupport.ru/showthread.php?t=290634)

zero477 11-13-2012 05:20 PM

Setting up in scheduled tasks email sending
 
Hello to all,

I am trying to set up an email task to send emails using an external php script ... When I clic in the "Scheduled Tasks Manager" on "Run Now" the email is sent perfectly ...

But when the task manager runs it I never receive the email and I also cannot find any log ...

Can someone help me?? this is the code:

PHP Code:



<?php

/*======================================================================*\
|| #################################################################### ||
|| # vBulletin 4.2.0 Patch Level 2 - Licence Number VBS969724D
|| # ---------------------------------------------------------------- # ||
|| # Copyright Š2000-2012 vBulletin Solutions Inc. All Rights Reserved. ||
|| # This file may not be redistributed in whole or significant part. # ||
|| # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # ||
|| # ########### | ################ # ||
|| #################################################################### ||
\*======================================================================*/

// ######################## SET PHP ENVIRONMENT ###########################

error_reporting(E_ALL & ~E_NOTICE);
if (!
is_object($vbulletin->db))
{
    exit;


// ########################################################################
// ######################### START MAIN SCRIPT ############################
// ########################################################################
echo getcwd();


require_once(
"/######/phpmailer/class.phpmailer.php");
require_once(
"/######/phpmailer/class.smtp.php");

$mail = new phpmailer();



$mail->IsSMTP(); // telling the class to use is SMTP
$mail->SMTPDebug 2// enables SMTP debug information 
// PUEDES PONER DOS SI UNO NO SIRVE (SIRVE EL OTRO) DE ESTA MANERA: "###############" //
$mail->SMTPAuth=true// enable SMTP authentication
$mail->Host="samplehost"// sets the SMTP server
$mail->Port=###; // set the SMTP port
$mail->Username="#####@####"// SMTP account username
$mail->Password="#######"// SMTP account password
$mail->From     "no-#####@#####"
$mail->FromName "Iubik";
$mail->AddReplyTo('no-#####@######''No Responder');
$mail->WordWrap 70;
$mail->SMTPSecure 'ssl';

/////////////////////////////////////
//////// MAIL CLIENTE ALERTA 1 //////
/////////////////////////////////////

$ahora date('l jS \of F Y h:i:s A');

$to_name"Eddie Aguilar";
$to "#############";
$subject "Prepare su viaje";
$message ="<p>THIS IS THE MESSAGE</p>



"
;
$message wordwrap($message,70);


$text_body ="THIS IS THE MESSAGE



"
;

    
$mail->Subject $subject;
    
$mail->Body    $message;
    
$mail->AltBody $text_body;
    
$mail->AddAddress ('#####@#########','Eddie Aguilar');

    if(!
$mail->Send())
    
// SI EL MAIL SE MANDA MAL
       
{echo "There has been a mail error sending to email <br>";} 
       else 
    
// SI EL MAIL SE MANDA BIEN SALE ESTO   
       
{ echo "Email Sent";}

?>


This is another script that has the same the same problem an uses the vb_mail class


PHP Code:


<?php

/*======================================================================*\
|| #################################################################### ||
|| # vBulletin 4.2.0 Patch Level 2 - Licence Number VBS969724D
|| # ---------------------------------------------------------------- # ||
|| # Copyright Š2000-2012 vBulletin Solutions Inc. All Rights Reserved. ||
|| # This file may not be redistributed in whole or significant part. # ||
|| # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # ||
|| # http://www.vbulletin.com | http://www.vbulletin.com/license.html # ||
|| #################################################################### ||
\*======================================================================*/

// ######################## SET PHP ENVIRONMENT ###########################

error_reporting(E_ALL & ~E_NOTICE);
if (!
is_object($vbulletin->db))
{
    exit;


// ########################################################################
// ######################### START MAIN SCRIPT ############################
// ########################################################################

vbmail_start();

$evioa "zero477@hotmail.com";
$sujeto "Este es el email bueno";
$mensaje "este es un mensaje para probar la funcion email send";
    
vbmail($evioa$sujeto$mensaje);
    
$emails .= iif($emails', ');
    
$emails .= $userinfo['username'];


vbmail_end();

if (
$emails)
{
    
log_cron_action($emails$nextitem1);
}





?>


kh99 11-13-2012 08:12 PM

When you edit the scheduled task, what do you have for the "Active" and "Log Entries" settings? And what did you choose for "Hour", "Minute", etc? If you have "Log Entries" set to yes and you're not seeing anything in the log then it seems like it must not be running for some reason.

zero477 11-13-2012 08:56 PM

Quote:

Originally Posted by kh99 (Post 2380872)
When you edit the scheduled task, what do you have for the "Active" and "Log Entries" settings? And what did you choose for "Hour", "Minute", etc? If you have "Log Entries" set to yes and you're not seeing anything in the log then it seems like it must not be running for some reason.

Hello kh99,

Thanks very much for your answer! I have Log Entries set up to YES ... and active set up to YES too.

For what reason it could not run??? the Schedule task manager says "One minute Ago" and so on ...

Greetings,
Eddie

kh99 11-13-2012 09:22 PM

You are right, if the scheduled task manager says "One minute Ago" then it must be running your task. I tried the second code you posted (using vbmail) and it works for me. I had to change the last part like this:
Code:

//if ($emails)
//{
    log_cron_action('', $nextitem, 1);
//}


because that script has no $emails, but when I do that I get emails and a line in the scheduled task log. I can't try the first script because I don't have the email classes.

Maybe try commenting out your "echo" lines and see if that makes any difference.

zero477 11-13-2012 09:46 PM

Hello kh99,

Thanks again for your answer ...

I still have the same problem ... when I clic on run task ... everything works fine (i can see the log now)

But if vbulletin does the job automatically I cannot see the log and I do not receive the emails.

This is the script I have:

PHP Code:


<?php

/*======================================================================*\
|| #################################################################### ||
|| # vBulletin 4.2.0 Patch Level 3 
|| # ---------------------------------------------------------------- # ||
|| # Copyright Š2000-2012 vBulletin Solutions Inc. All Rights Reserved. ||
|| # This file may not be redistributed in whole or significant part. # ||
|| # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # ||
|| # http://www.vbulletin.com | http://www.vbulletin.com/license.html # ||
|| #################################################################### ||
\*======================================================================*/

// ######################## SET PHP ENVIRONMENT ###########################

error_reporting(E_ALL & ~E_NOTICE);
if (!
is_object($vbulletin->db))
{
    exit;


// ########################################################################
// ######################### START MAIN SCRIPT ############################
// ########################################################################

vbmail_start();

$evioa "zero477@hotmail.com";
$sujeto "Este es el email bueno";
$mensaje "este es un mensaje para probar la funcion email send";
    
vbmail($evioa$sujeto$mensaje);
    
$emails .= iif($emails', ');
    
$emails .= $userinfo['username'];


vbmail_end();

// if ($emails)
//{
    
log_cron_action(''$nextitem1);
//}





?>

Do you see any errors?

Thanks again,
Eddie

kh99 11-14-2012 02:59 PM

I don't see any errors - that's what my script looked like when I tried it (except of course I also changed the email address). What you posted has a blank line at the beginning - I'm not sure if your file has that, but if it does you might try removing it so that <?php is the very first thing in the file.

Is your site active? If you have "Use Mailqueue System" and "Use Cron Based Sending" set to yes in the email options, then I guess it's possible that you have emails waiting in the queue.

zero477 11-14-2012 03:57 PM

Thanks again kh99,

The strange thing is that there is not even a log :S

I have now:

Use Cron Based Sending = Yes
Use Mailqueue System = Yes

Can I check somewhere if there are emails in the queue?

I have scheduled the task directly on Cpanel now ... I would wish I could make it work from vbulletin:(

Greetings,
Eddie

kh99 11-14-2012 04:10 PM

Quote:

Originally Posted by zero477 (Post 2381059)
The strange thing is that there is not even a log :S

Yes, it seems like there should be a log entry.


Quote:

Can I check somewhere if there are emails in the queue?
On the main admincp page there's a "Number of Queued E-Mails" line. (I think if it's missing it means there are none).


All times are GMT. The time now is 08:15 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01144 seconds
  • Memory Usage 1,781KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code_printable
  • (3)bbcode_php_printable
  • (3)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (8)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete