Usar "sendmail" en lugar de "mail()"

Usar "sendmail" en lugar de "mail()"

de Edgar Cárdenas -
Número de respuestas: 9
Estimados administradores, espero su ayuda.
Mi proveedor de hosting tiene deshabilitado el puerto 25 que utiliza la función PHP mail() y esto hace que no se pueda enviar ningún correo de notificaciones, foros, etc, etc.

Me contacté con el proveedor quién supo manifestarme que no seráposible hab ilitar el puerto 25 por problemas de spam y me suguiere utilizar la función sendmail de php.

Aquí viene mi pregunta: ¿se puede utilizar el sendmail desde moodle? ¿cuál es el procedimiento para hacerlo?

A la espera de su amable respuesta.
Promedio de valoraciones: -
En respuesta a Edgar Cárdenas

Re: Usar "sendmail" en lugar de "mail()"

de Edgar Cárdenas -
Existe otra manera de usar php mail()?
¿sendmail es lo mismo que SMTP?

Gracias.
En respuesta a Edgar Cárdenas

Re: Usar "sendmail" en lugar de "mail()"

de David Hernández -
Hola Edgar,

Me surge una duda: ¿qué realmente quieres?

¿Quieres probar diversos métodos para enviar correo usando PHP?

¿Quieres por fuerza utilizar "sendmail" con Moodle (tal vez por probar sus alcances)?

¿O quieres que tu plataforma envíe mails por un puerto distinto al 25?

Dependiendo de lo que desees te convendrá o no leer con calma (mucha calma)
la referencia que cité en mi post previo, o bien, "pegarle" a Moodle una
librería como "swiftmailer" que trabaja bien con "sendmail" y con otros
recursos de correo.

Ahora bien, si ya probaste la solución indicada en el link de referencia,
y no te funciona nada, entonces quizá lo mejor sea que cambies de proveedor
de servicio de hosting.

Saludos

PD
Con respecto a tu inquietud sobre "sendmail" y "smtp" revisa esto.
En respuesta a David Hernández

Re: Usar "sendmail" en lugar de "mail()"

de Gian Tinoco Chumbes -

Como estan

Señor David Hernandes tengo el mismo problema no me llegan los post de los alumnos de los foros, tampoco no me llega el correo de olvidó la contraseña ??

que puede ser ya que yo estoy usando dos servidores distintos uno es  para la pagina del Site www.dharma.net, es allí donde yo instale el moodle y por defecto el moodle tomo como correo a noreply@dharma.net como valor por defecto en servidor/email/Direccion no reply, pero ese dominio no se usa para el envio de correos , usmos otro dominio el cual es  por ejemplo el mio: gian@dharma.com esto será la causa de porque no  recibo correos de los post, tampoco los alumnos reciben su clave y contraseña si ellos se olvidaron,

otra pregunta hace dos dias tenia que ejecutar el cron de manera manual, pero lo configuré en mi servidor y ahora no me sale la notificacion en el bloque de administración, como puedo saber si mi cron esta siendo ejecutado exitisamente??

por favor espero su respuesta.

Saludos Gian Carlos  

En respuesta a Gian Tinoco Chumbes

Re: Usar "sendmail" en lugar de "mail()"

de David Hernández -
Hola Gian,

El asunto de los mails a veces parece cosa de verdadera "brujería". evil

Pero todo tiene una explicación.... wink

No sé si tu server sea compartido o similar.

En estos casos es difícil usar múltiples servidores para cada servicio.

No me preguntes cuáles son exactamente los argumentos, pero tiene
que ver con la seguridad de los servidores (en mi opinión y experiencia,
es más bien que los ingenieros no saben administrar un server con
un enfoque de siglo XXI, pero bueno, démosle el beneficio de la duda a ciertas
gentes...).

Por ejemplo, a un cliente le rentamos un server (compartido) con el proveedor A y
ahí albergamos un dominio ".com".

Dicho proveedor dio de alta el mail con GoogleApps (este sería el proveedor B
"forzado"), es decir, con éste usamos los mails con el dominio ".com" del
proveedor A.

Con el proveedor C se colocó otro dominio (también .com).

Lo que se quería era albergar con este proveedor un cliente Web de correo que
trabajara con los mails de "GoogleApps", pues no queríamos trabajar con
su interfase y todos sus "servicios gratuitos", sino con la estrategia que teníamos
previamente diseñada (que es de total independencia tecnológica)

(nota al calce: chicos, no dependan de Google, cambien a FengOffice Sí sonrisa )

Bueno, nunca se pudo eso, aunque el proveedor super aseguraba que sí
era posible y le echaba la culpa a la herramienta que estábamos instalando

La verdad es que hasta tuve diferencias fuertes con el área de soprte
(a los que no bajo de ignorantes), porque nunca supieron qué pasaba
y lo peor es que no lo reconocían.

(otra nota al calce: al contratar con ellos les explicamos claramente lo que
queríamos hacer -lo del GoogleApps- y nos dijeron que no había problema,
que tenían clientes que hacían eso, por eso me porté más rudo aún cool )

Después de estudiar y hacer múltiples prubas con clientes Web de correo,
verificar "logs" del server, y pruebas en otros servers, llegue a la conclusión
de que una funcionalidad de PHP estaba bloqueada.

El error que al final logré detectar fue el siguiente:

ERROR: Error: fsockopen() [<a
href='function.fsockopen'>function.fsockopen</a>]: unable to connect to
ssl://imap.******.com :993 (php_network_getaddresses: getaddrinfo failed:
Name or service not known) in
'/home/******/domains/******/public_html/library/PEAR
/Net/Socket.php' on line ****** (error code: 2)

Lo anexo por si te interesa y/o por si tienes un error similar

Como puedes ver, ell asunto va por el lado de "fsockopen" (busca en la red para
mayor info).

Bien, es imposible convencer a un proveedor de que cambie esta configuración.

Creo que eso puede estar pasando en tu caso (o algo similar).

Y bueno, respecto a lo del cron, si no te sale nada en el área de notificaciones
de la plataforma, quiere decir que todo está bien, que el cron corre adecuadamente
según lo programado.

Sólo ojo: si no programaste tu cron para que "desaparezca" los archivos de
registro del cron, debes tener una parte del server llena de cosas que no te
sirven.

Yo lo que hago es correr un par de días el cron sin "desaparecer" los archivos.

Cuando veo que éstos se almacenan en el server y los abro y no hay errores,
entonces sí programo que los archivos se borren:

wget -q -O /dev/null http://www.misitio.com/moodle/admin/cron.php?password=mipassword

(esto supone que configuraste tu plataforma con un password para correr
el cron)

A ver si esto te sirve.

Saludos
En respuesta a David Hernández

Re: Usar "sendmail" en lugar de "mail()"

de Gian Tinoco Chumbes -

Sr. David Hernandez

El codigo:

wget -q -O /dev/null http://www.misitio.com/moodle/admin/cron.php/a>

lo puse en mi servidor para que corra cada diez minutos, me parece que este codigo en formato UNIX es para "desaparecer" los registros del cron??

ademas El sabado pasado me llego un correo informandome lo siguiente:

Insert into log table failed at Friday 13th of August 2010 04:20:27 PM.

It is possible that your disk is full.

The failed SQL is:

INSERT INTO e_log (time, userid, course, ip, module, cmid, action, url, info)

VALUES ('1281734427', '20', '1', '64.22.69.29', 'library', '0', 'mailer', 'cron', 'ERROR: SMTP Error: Could not connect to SMTP

host.')

y me parece  que es algo referido a mi base de datos de la tabla LOG que no se pudo hacer conexion con SMTP?

que podría ser? ojala me des alguna sugerencia.

Gian Carlos.

En respuesta a Gian Tinoco Chumbes

Re: Usar "sendmail" en lugar de "mail()"

de Gian Tinoco Chumbes -

Señor David Hernandez

Ayer como me dijo que el cron estaba bien quise saber si realmente estaba bien lo operé de manera manual mediante la la URl

y me salio esta reporte:

Server Time: Tue, 17 Aug 2010 09:41:50 -0500 Starting activity modules Processing module function assignment_cron ...done. Processing module function forum_cron ...Starting digest processing... Cleaned old digest records done. Finished activity modules Starting blocks Processing cron function for search....Global searching is not enabled. Nothing performed by search. done. Finished blocks Starting admin reports Finished admin reports Updating languages cache Removing expired enrolments ...none found Starting main gradebook job ... done. Starting processing the event queue... done. Running backups if required... Checking backup status...INACTIVE Backup tasks finished. Running auth crons if required... Cron script completed correctly Execution took 0.318412 seconds

cree Ud que mi cron esta bien? sobretodo la parte de Global searching is no enabled. la verdad no sé que significa esa notificacion Ayudeme por favor.

Mil Gracias

Gian Carlos

En respuesta a Gian Tinoco Chumbes

Re: Usar "sendmail" en lugar de "mail()"

de David Hernández -
Hola Gian,

En mi opinión tu cron corre bien y sin problemas.

Lo de "Global search" siempre sale, en tanto no hayas activado
la modalidad de dicho recurso.

Éste aún es experimental y requiere una serie de herramientas
externas que no siempre están presentes en los servidores.

Por ello, está bien que no la hayas activado y la leyenda
que colocas sólo indica eso ("enabled" significa "activado).

Saludos
En respuesta a Edgar Cárdenas

Re: Usar "sendmail" en lugar de "mail()"

de David Quintal -

Yo uso el QuickMail es un bloque para enviar correos a los usuarios ,y por otra parte por que no dejas que envie mails basado en php ahi en la configuracion de moodle te muestra la opcion de envio de emails y avisos basado en php