Bonjour à tous.

Je cherche à envoyer un e-mail vers un serveur SMTP avec autorisation.
Voici mon script PHP :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<!doctype html>
<html lang="fr">
<head>
<meta charset="ISO-8859-1" />
<title>Envoie d'un e-mail par socket !</title>
 
<link rel="stylesheet" type="text/css" href="Styles.css" />
</head>
 
<body>
<?php
$serveur  = "???";
$nom1     = "???";
$email1   = "???";
$password = "???";
 
$client   = gethostname();
$port     = 587;
 
$nom2     = "???";
$email2   = "???";
 
$sujet    = "Test 1 !";
$message  = "Test de l'envoi d'un message simple !";
?>
 
<table>
	<tr><td>Client       </td><td><?php echo ': '.$client;                ?></td></tr>
	<tr><td>Serveur      </td><td><?php echo ': '.$serveur;               ?></td></tr>
	<tr><td>Port         </td><td><?php echo ': '.$port;                  ?></td></tr>
	<tr><td>Expéditeur   </td><td><?php echo ': '.$nom1.' ('.$email1.')'; ?></td></tr>
	<tr><td>Destinataire </td><td><?php echo ': '.$nom2.' ('.$email2.')'; ?></td></tr>
	<tr><td>Sujet        </td><td><?php echo ': '.$sujet;                 ?></td></tr>
	<tr><td>Message      </td><td><?php echo ': '.$message;               ?></td></tr>
</table>
 
<?php
$errno   = "";
$errmsg  = "";
$timeout = 20;
$socket  = fsockopen($serveur, $port, $errno, $errmsg, $timeout);
 
if ($errno != 0)
{
?>
 
	<br />
	<table>
		<tr><td>Connexion impossible</td><td><?php echo ': '.$serveur.' !';         ?></td></tr>
		<tr><td>numero d'erreur     </td><td><?php echo ': '.$errno;                ?></td></tr>
		<tr><td>Message d'erreur    </td><td><?php echo ': '.htmlentities($errmsg); ?></td></tr>
	</table>
 
<?php
}
else
{
	fputs($socket, "EHLO $client\n");
	fputs($socket, "AUTH LOGIN\n");
	fputs($socket, base64_encode($email1)."\n");
	fputs($socket, base64_encode($password)."\n");
	fputs($socket, "MAIL FROM:<$email1>\n");
	fputs($socket, "RCPT TO:<$email2>\n");
	fputs($socket, "DATA\n");
	fputs($socket, "FROM:$nom1 <$email1>\n");
	fputs($socket, "TO:$nom2 <$email2>\n");
	fputs($socket, "SUBJECT:$sujet\n");
	fputs($socket, "MIME-VERSION: 1.0\n");
	fputs($socket, "CONTENT-TYPE:TEXT/PLAIN;CHARSET=ISO-8859-1\n");
	fputs($socket, "$message\n");
	fputs($socket, "\n.\n");
	fputs($socket, "QUIT\n");
	stream_set_blocking($socket, true);
 
	$info   = stream_get_meta_data($socket);
	$result = "";
 
	while ((!feof($socket)) && (!$info['timed_out']))
	{
		$new     = fgets($socket, 4096);
		$result .= str_replace(Chr(10), "<br />", $new);
		$info    = stream_get_meta_data($socket);
	}
 
	fclose($socket);
?>
 
	<br />
	<div id="bloc">  <?php echo $result; ?></div>
 
<?php
	if ($info['timed_out'])
	{
?>
		<br />
		<div id="alerte">Connection Timed Out!</div>
 
<?php
	}
}
?>
</body>
</html>
Je n'ai pas mis en clair mes adresses e-mail.

C'est un script php de test pour voir comment fonctionne l'envoie d'e-mail.
Le problème que je rencontre est l'envoi d'e-mail avec autorisation.

Vers un serveur SMTP de chez SFR, l'envoie fonctionne.

Par contre, cela ne fonctionne pas vers un serveur SMTP de chez Alwaysdata.
Cela provoque une erreur : "554 SMTP synchronization error".
Comment modifier le script php pour ne plus avoir cette erreur ?

Merci.
Cordialement.
Artemus24.
@+