Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 25/04/2008, à 11:26

Beamo-fr

Envoi d'un mail html avec Sendmail via la console

Bonjour,

J'ai actuellement le fichier test.html suivant :

Content-Type: text/html

<HTML>
<BODY bgcolor=gray>
<blockquote><font color=red>Test</font> <font color=white>de</font> <font color=blue>mail</font></blockquote>
</BODY>
</HTML>

J'arrive à l'envoyer en "mode" html via sendmail :
cat test.html | /usr/sbin/sendmail beamo@beamo.fr

Par contre je ne sais pas rajouter un sujet au mail que j'envoie.

Je suis sur un serveur d'entreprise et je ne peux donc pas faire d'installation ce qui entraine la contrainte d'utiliser sendmail comme serveur SMTP et d'effectuer l'envoi en console.

Quelqu'un aurait un solution ? smile

Merci,
Beamo

#2 Le 25/04/2008, à 16:22

wblitz

Re : Envoi d'un mail html avec Sendmail via la console

mailx est ton ami :

test.html |  mailx -a "Content-Type: text/html; charset=UTF-8" -s "mon sujet" toto@anywhere.com

"Un optimiste, c'est un homme qui plante deux glands et qui s'achète un hamac" - Jean de Lattre de Tassigny
Pensez à mettre [RÉSOLU] dans le sujet de vos posts une fois qu'ils le sont...
quelques docs

Hors ligne

#3 Le 25/04/2008, à 16:35

Beamo-fr

Re : Envoi d'un mail html avec Sendmail via la console

Bonjour,

On doit malheureusement pas avoir la même version de mailx (j'ai celle déposée par sendmail je présume)

Lorsque je tente ta solution j'obtiens le message d'erreur suivant :

mailx: invalid option -- a
Usage: mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] to-addr ...
            [- sendmail-options ...]
       mail [-iInNv] -f [name]
       mail [-iInNv] [-u user]

Beamo

#4 Le 25/04/2008, à 16:45

wblitz

Re : Envoi d'un mail html avec Sendmail via la console

essaie en installant le paquet "mailx"


"Un optimiste, c'est un homme qui plante deux glands et qui s'achète un hamac" - Jean de Lattre de Tassigny
Pensez à mettre [RÉSOLU] dans le sujet de vos posts une fois qu'ils le sont...
quelques docs

Hors ligne

#5 Le 25/04/2008, à 17:15

Beamo-fr

Re : Envoi d'un mail html avec Sendmail via la console

Comme précisé dans mon premier post :
<<
Je suis sur un serveur d'entreprise et je ne peux donc pas faire d'installation
>> smile

Beamo

#6 Le 25/04/2008, à 17:43

wblitz

Re : Envoi d'un mail html avec Sendmail via la console

essaie avec ceci alors :

(echo -e "Content-type: text/html\n\n" && cat test.html) | /usr/sbin/sendmail toto@anywhere.com

edit : erreur de copier/coller wink

Dernière modification par wblitz (Le 25/04/2008, à 18:07)


"Un optimiste, c'est un homme qui plante deux glands et qui s'achète un hamac" - Jean de Lattre de Tassigny
Pensez à mettre [RÉSOLU] dans le sujet de vos posts une fois qu'ils le sont...
quelques docs

Hors ligne

#7 Le 25/04/2008, à 18:05

Beamo-fr

Re : Envoi d'un mail html avec Sendmail via la console

Nope marche pas non plus.

Je n'ai pas les droits de lancer sendmail avec -s et je ne pense pas que cette option place le sujet.

WARNING: RunAsUser for MSP ignored, check group ids (egid=502, want=51)
can not chdir(/var/spool/clientmqueue/): Permission denied
Program mode requires special privileges, e.g., root or TrustedUser.

J'ai aussi testé avec mail tout court mais je reçois le mail sans qu'il soit interprété en html...

Dommage...

Une autre idée ? smile

Beamo

#8 Le 25/04/2008, à 18:10

wblitz

Re : Envoi d'un mail html avec Sendmail via la console

tu as raison pour le "-s ...", un copier/coller trop rapide...

J'ai aussi testé avec mail tout court mais je reçois le mail sans qu'il soit interprété en html...

bizarre... c'est normalement à ça que sert le "echo -e ..." wink tu peux poster le source du message que tu reçois ?


"Un optimiste, c'est un homme qui plante deux glands et qui s'achète un hamac" - Jean de Lattre de Tassigny
Pensez à mettre [RÉSOLU] dans le sujet de vos posts une fois qu'ils le sont...
quelques docs

Hors ligne

#9 Le 25/04/2008, à 18:16

Beamo-fr

Re : Envoi d'un mail html avec Sendmail via la console

Alors lorsque j'utilise mail :

si mon fichier n'a pas d'entête, je reçois un mail texte avec écrit :

Content-Type: text/html

<HTML>
<BODY bgcolor=gray>
<blockquote><font color=red>Ceci</font> <font color=white>est un</font> <font color=blue>mail</font></blockquote>
</BODY>
</HTML>

Si je laisse l'entête de mon fichier je reçois alors mail avec écrit :

Content-type: text/html


Content-Type: text/html

<HTML>
<BODY bgcolor=gray>
<blockquote><font color=red>Ceci</font> <font color=white>est un</font> <font color=blue>mail</font></blockquote>
</BODY>
</HTML>

Dans les 2 cas l'html n'est pas interprété sad

Beamo

#10 Le 25/04/2008, à 18:24

Beamo-fr

Re : Envoi d'un mail html avec Sendmail via la console

Pardon je n'avais pas vu que tu demandais l'entête :

Microsoft Mail Internet Headers Version 2.0
Received: from xxx.fr ([xx.xxx.xx.xx]) by xxx.fr with Microsoft SMTPSVC(6.0.3390.3959);
	 Fri, 25 Apr 2008 18:03:12 +0200
Received: from xxx.fr ([xx.xxx.xxx.xx]) by xxx.fr with Microsoft SMTPSVC(6.0.3390.3959);
	 Fri, 25 Apr 2008 18:03:12 +0200
Received: from xxx.fr (localhost [127.0.0.1])
	by xxxx.fr (8.18.1/8.18.1) with ESMTP id m3PFhPIY023256
	for <toto@anywhere.fr>; Fri, 25 Apr 2008 17:43:12 +0200
Received: (from user@localhost)
	by xxx.fr (8.18.1/8.18.1/Submit) id m3PFhPH9023254
	for toto@anywhere.fr; Fri, 25 Apr 2008 17:43:12 +0200
Date: Fri, 25 Apr 2008 17:43:12 +0200
From: user@xxx.fr
Message-Id: <200804251543.m3PFhCH9423254@xxx.fr>
To: toto@anywhere.fr
Subject: mon sujet
Return-Path: user@xxx.fr
X-OriginalArrivalTime: 25 Apr 2008 16:03:12.0673 (UTC) FILETIME=[DD161110:01C8A6ED]

#11 Le 25/04/2008, à 18:32

wblitz

Re : Envoi d'un mail html avec Sendmail via la console

bizarre bizarre...
si php est installé sur le serveur, tu peux utiliser la fonction mail :

#!/usr/bin/php
<?php
     $charset = "utf-8";
     $headers = "Content-type: text/html; charset=$charset";
     $subject = "sujet";
     $body = file_get_contents("/chemin/absolu/test.html");
     $to = "toto@wanywher.com";
     mail($to, $subject, $body, $headers);
?>

tu rends le fichier exécutable et tu l'éxecutes.

edit : correction de l'erreur mentionnée dans les posts suivant

Dernière modification par wblitz (Le 25/04/2008, à 19:18)


"Un optimiste, c'est un homme qui plante deux glands et qui s'achète un hamac" - Jean de Lattre de Tassigny
Pensez à mettre [RÉSOLU] dans le sujet de vos posts une fois qu'ils le sont...
quelques docs

Hors ligne

#12 Le 25/04/2008, à 18:47

Beamo-fr

Re : Envoi d'un mail html avec Sendmail via la console

Ca semble une bonne idée mais pour l'instant ca me donne une erreur smile

PHP Parse error:  parse error, unexpected T_VARIABLE in /chemin/complet/phpmail.php on line 6
Content-type: text/html
X-Powered-By: PHP/4.3.9

j'ai vérifié le chemin est pourtant bon hmm

Beamo

#13 Le 25/04/2008, à 18:53

wblitz

Re : Envoi d'un mail html avec Sendmail via la console

tu peux poster le fichier en question (modifie uniquement les adresses mails si tu ne veux pas qu'on les voie wink) ?


"Un optimiste, c'est un homme qui plante deux glands et qui s'achète un hamac" - Jean de Lattre de Tassigny
Pensez à mettre [RÉSOLU] dans le sujet de vos posts une fois qu'ils le sont...
quelques docs

Hors ligne

#14 Le 25/04/2008, à 19:13

Beamo-fr

Re : Envoi d'un mail html avec Sendmail via la console

Hop là

#!/usr/bin/php
<?php
     $charset = "utf-8";
     $headers = "Content-type: text/html; charset=$charset";
     $subject = "test php"
     $body = file_get_contents("/home/toto/work/test.html");
     $to = "toto@toto.fr";
     mail($to, $subject, $body, $headers);
?>

et le fichier texte.html (même si ça n'a pas l'air d'influencer l'erreur)

<HTML>
<BODY bgcolor=gray>
<blockquote><font color=red>Test</font> <font color=white>de</font> <font color=blue>mail</font></blockquote>
</BODY>
</HTML>

Merci

#15 Le 25/04/2008, à 19:15

wblitz

Re : Envoi d'un mail html avec Sendmail via la console

c'est la ligne là l'erreur :

$subject = "test php"

j'ai oublié le ; à la fin de la ligne. tu n'as plus qu'à l'ajouter et à tester normalement smile


"Un optimiste, c'est un homme qui plante deux glands et qui s'achète un hamac" - Jean de Lattre de Tassigny
Pensez à mettre [RÉSOLU] dans le sujet de vos posts une fois qu'ils le sont...
quelques docs

Hors ligne

#16 Le 25/04/2008, à 19:41

Beamo-fr

Re : Envoi d'un mail html avec Sendmail via la console

Exact... Je n'avais pas vu, ça sent la fin de semaine !! smile

Testé et approuvé !
Ça marche nickel, je te remercie pour ton aide

Problem solved ! smile

Beamo

#17 Le 25/04/2008, à 20:11

wblitz

Re : Envoi d'un mail html avec Sendmail via la console

nickel chrome alors wink il y a également moyen de récupérer les différentes variables en tant qu'argument de ton script (tu peux aller sur www.php.net pour trouver tout ce que tu souhaites sur le sujet)

pense à mettre à un "résolu" dans le titre de ton post à l'occasion wink et bon week-end !


"Un optimiste, c'est un homme qui plante deux glands et qui s'achète un hamac" - Jean de Lattre de Tassigny
Pensez à mettre [RÉSOLU] dans le sujet de vos posts une fois qu'ils le sont...
quelques docs

Hors ligne

#18 Le 25/04/2008, à 20:26

Beamo-fr

Re : Envoi d'un mail html avec Sendmail via la console

J'ai essayé d'éditer le premier post pour mettre un [RESOLU] devant mon titre mais l'ayant créé avec un  compte guest, je ne peux pas l'éditer hmm

Si un modérateur tombe sur ces qques lignes je veux bien que le titre soit édité afin que [RESOLU] soit placé devant !! smile

Beamo