[php] mandare mail curl

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Scrivi risposta
zerocoll
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1657
Iscrizione: mercoledì 20 gennaio 2010, 1:44

[php] mandare mail curl

Messaggio da zerocoll »

ciau bella gente

se faccio questo

Codice: Seleziona tutto

curl --url "smtps://smtp.gmail.com:465" --ssl-reqd --mail-from "mail1@gmail.com" --mail-rcpt "mail2@libero.it" --upload-file mail.txt --user "username:password" --insecure
riesco a mandare le mail da mail 1 a mail 2

ce qualche modo di farlo con il php

la cosa che ho trovato e si avvicina di piu e questa

Codice: Seleziona tutto

<?php
$url = 'smtps://smtp.gmail.com:465';
    $user = 'username;
    $pass = 'password';

    $params = array(
        'User'      => $user,
        'passwor'   => $pass,
        'to'        => 'mail2@libero.it',
        'subject'   => 'testvv',
        'html'      => 'body',
        'text'      => 'text',
        'from'      => 'mail1@gmail.com',
      );


    $session = curl_init($url);
    curl_setopt ($session, CURLOPT_POST, true);
    curl_setopt ($session, CURLOPT_POSTFIELDS, $params);
    curl_setopt($session, CURLOPT_HEADER, 1);
    curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($session);
    $info = curl_getinfo($session);
    curl_close($session);
    echo $response;
    print_r($info);
    echo "Check your email now....<BR/>";
?>
ma 1 nn funziona 2 e lungoooo

grazie a tutti x le risposte :)
Avatar utente
Darby_Crash
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1025
Iscrizione: lunedì 8 novembre 2010, 17:50
Desktop: Plasma
Distribuzione: Debian GNU/Linux 9.4 (stretch)
Contatti:

Re: [php] mandare mail curl

Messaggio da Darby_Crash »

Ciao zerocoll. :D

Ora ti faccio vedere qualcosa di malvagio... :devilmad:

Metti questa classe a inizio pagina:

Codice: Seleziona tutto

class Gmail {
	private $mail;
	private $email;
	private $pass;
	public function __construct($email, $pass){
		$this->email = $email;
		$this->pass = $pass; 
	}
	private function mailGen(){
		$from = yield;
		$to = yield;
		$subject = yield;
		$body = yield;
		yield "FROM: <" . $from . ">\n";
		yield "To: <" . $to . ">\n";
		yield "Date: " . date("r") . "\n";
		yield "Subject: " . $subject . "\n";
		yield "\n";
		yield $body;
		yield "";
	}
	public function getLine(){
		$resp = $this->mail->current();
		$this->mail->next();
		return $resp;
	}
	public function send($to, $subject, $body){
		$this->mail = $this->mailGen();
		$this->mail->send($this->email);
		$this->mail->send($to);
		$this->mail->send($subject);
		$this->mail->send($body);
		$ch = curl_init("smtps://smtp.gmail.com:465");
		curl_setopt($ch, CURLOPT_MAIL_FROM, "<" . $this->email . ">");
		curl_setopt($ch, CURLOPT_MAIL_RCPT, array("<" . $to . ">"));
		curl_setopt($ch, CURLOPT_USERNAME, $this->email);
		curl_setopt($ch, CURLOPT_PASSWORD, $this->pass);
		curl_setopt($ch, CURLOPT_USE_SSL, CURLUSESSL_ALL);
		curl_setopt($ch, CURLOPT_UPLOAD, 1);
		curl_setopt($ch, CURLOPT_READFUNCTION, array($this, "getLine")); 
		return curl_exec($ch);
	}
}

$gmail = new Gmail('MiaEmail@gmail.com', 'MiaPasswordGmail');
Dopo ci puoi aggiungere a seconda dei bisogni:

Codice: Seleziona tutto

for ($i=0;$i<100;$i++) $gmail->send('malcapitato@mail.it', 'Sei soggetto al mio flood', 'Il testo di questa email è scemo!');
Evolution is a process too slow to save my soul
Avatar utente
Eresia
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 362
Iscrizione: venerdì 30 giugno 2006, 1:20
Distribuzione: gentoo
Sesso: Maschile

Re: [php] mandare mail curl

Messaggio da Eresia »

ma perchè vuoi usare curl? Non è buona praticare usarlo con connessioni smtp
che errore ti da il codice sopra?
emerge --auD --oneshot life/lucky-*
Avatar utente
Darby_Crash
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1025
Iscrizione: lunedì 8 novembre 2010, 17:50
Desktop: Plasma
Distribuzione: Debian GNU/Linux 9.4 (stretch)
Contatti:

Re: [php] mandare mail curl

Messaggio da Darby_Crash »

Eresia [url=https://forum.ubuntu-it.org/viewtopic.php?p=5055563#p5055563][img]https://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:ma perchè vuoi usare curl? Non è buona praticare usarlo con connessioni smtp
che errore ti da il codice sopra?
Magari leggendo avresti capito che non ha nessun errore con curl e che chiedeva come farlo in php. Secondo quale criterio non è buona pratica usare curl per connessioni smtp?
Evolution is a process too slow to save my soul
Avatar utente
Eresia
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 362
Iscrizione: venerdì 30 giugno 2006, 1:20
Distribuzione: gentoo
Sesso: Maschile

Re: [php] mandare mail curl

Messaggio da Eresia »

Darby_Crash [url=https://forum.ubuntu-it.org/viewtopic.php?p=5055580#p5055580][img]https://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
Eresia [url=https://forum.ubuntu-it.org/viewtopic.php?p=5055563#p5055563][img]https://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:ma perchè vuoi usare curl? Non è buona praticare usarlo con connessioni smtp
che errore ti da il codice sopra?
Magari leggendo avresti capito che non ha nessun errore con curl e che chiedeva come farlo in php. Secondo quale criterio non è buona pratica usare curl per connessioni smtp?
tiè leggi https://stackoverflow.com/questions/266 ... l#26693159 che è lo stesso script posto da lui (sembra, sono dal telefono)

e rileggi quello che ha scritto lui sopra:
ma 1 nn funziona 2 e lungoooo

zerocoll: perdonami, ho letto male io, con php:
1) https://www.lifewire.com/how-to-send-em ... pt-1171195 [base]
2) https://github.com/PHPMailer/PHPMailer [avanzato]
Ultima modifica di Eresia il giovedì 26 aprile 2018, 19:37, modificato 1 volta in totale.
emerge --auD --oneshot life/lucky-*
Avatar utente
Darby_Crash
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1025
Iscrizione: lunedì 8 novembre 2010, 17:50
Desktop: Plasma
Distribuzione: Debian GNU/Linux 9.4 (stretch)
Contatti:

Re: [php] mandare mail curl

Messaggio da Darby_Crash »

Eresia [url=https://forum.ubuntu-it.org/viewtopic.php?p=5055582#p5055582][img]https://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
Darby_Crash [url=https://forum.ubuntu-it.org/viewtopic.php?p=5055580#p5055580][img]https://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
Eresia [url=https://forum.ubuntu-it.org/viewtopic.php?p=5055563#p5055563][img]https://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:ma perchè vuoi usare curl? Non è buona praticare usarlo con connessioni smtp
che errore ti da il codice sopra?
Magari leggendo avresti capito che non ha nessun errore con curl e che chiedeva come farlo in php. Secondo quale criterio non è buona pratica usare curl per connessioni smtp?
tiè leggi https://stackoverflow.com/questions/266 ... l#26693159

e rileggi quello che ha scritto lui sopra:
ma 1 nn funziona 2 e lungoooo
Guarda che TU sei in errore. Si riferiva al codice PHP!
Secondo, in quel post, il tizio ha espresso la sua opinione, dicendo che curl non è il giusto tool secondo lui per effettuare questo tipo di operazioni.
zerocoll non deve fare nulla di complicato e quella classe funziona perfettamente e al 100%.

EDIT:

Il tizio poi si riferiva a quello script che ha postato zerocoll, infatti quello script è cacca.
La classe postata da me invece gestisce perfettamente l'operazione in tutte le sue fasi.
Evolution is a process too slow to save my soul
Avatar utente
Eresia
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 362
Iscrizione: venerdì 30 giugno 2006, 1:20
Distribuzione: gentoo
Sesso: Maschile

Re: [php] mandare mail curl

Messaggio da Eresia »

Darby_Crash [url=https://forum.ubuntu-it.org/viewtopic.php?p=5055583#p5055583][img]https://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
Eresia [url=https://forum.ubuntu-it.org/viewtopic.php?p=5055582#p5055582][img]https://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
Darby_Crash [url=https://forum.ubuntu-it.org/viewtopic.php?p=5055580#p5055580][img]https://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
Eresia [url=https://forum.ubuntu-it.org/viewtopic.php?p=5055563#p5055563][img]https://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:ma perchè vuoi usare curl? Non è buona praticare usarlo con connessioni smtp
che errore ti da il codice sopra?
Magari leggendo avresti capito che non ha nessun errore con curl e che chiedeva come farlo in php. Secondo quale criterio non è buona pratica usare curl per connessioni smtp?
tiè leggi https://stackoverflow.com/questions/266 ... l#26693159

e rileggi quello che ha scritto lui sopra:
ma 1 nn funziona 2 e lungoooo
Guarda che TU sei in errore. Si riferiva al codice PHP!
Secondo, in quel post, il tizio ha espresso la sua opinione, dicendo che curl non è il giusto tool secondo lui per effettuare questo tipo di operazioni.
zerocoll non deve fare nulla di complicato e quella classe funziona perfettamente e al 100%.

EDIT:

Il tizio poi si riferiva a quello script che ha postato zerocoll, infatti quello script è cacca.
La classe postata da me invece gestisce perfettamente l'operazione in tutte le sue fasi.
Ma infatti ho chiesto il perchè non funziona, si presuppone che il codice dia un errore, scusa ma non ho capito la tua polemica.
Sto parlando del suo script, non del tuo, che c'entri tu? Stiamo andando fuori tema comunque, piantiamola qui e se ha bisogno di assistenza bene
emerge --auD --oneshot life/lucky-*
Avatar utente
Darby_Crash
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1025
Iscrizione: lunedì 8 novembre 2010, 17:50
Desktop: Plasma
Distribuzione: Debian GNU/Linux 9.4 (stretch)
Contatti:

Re: [php] mandare mail curl

Messaggio da Darby_Crash »

Forse ho frainteso, se è cosi' mi scuso, in ogni caso quello script non è giusto ed è un approccio sbagliato (quello postato da zerocoll), quindi è inutile stare a correggerlo.
Visto che ciò che chiedeva zerocoll non richiede grossi sforzi, è inutile che utilizzi una classe esterna (PHPMailer). Il codice che ho postato permette facilmente di inviare tutte le email che si vuole, sia lato client, che lato server.
Evolution is a process too slow to save my soul
Avatar utente
Darby_Crash
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1025
Iscrizione: lunedì 8 novembre 2010, 17:50
Desktop: Plasma
Distribuzione: Debian GNU/Linux 9.4 (stretch)
Contatti:

Re: [php] mandare mail curl

Messaggio da Darby_Crash »

Ci ho perso un pò di tempo ma eccoti qui una versione più corta:

Codice: Seleziona tutto

<?php
$stream = fopen('php://memory','r+');
fwrite($stream, "From: \"Mio Nome o nickname\" <MiaEmail@gmail.com>\r\nTo: \"Nome o nickname del destinatario\" <destinatario@mail.it>\r\nSubject: This is a test\r\n\r\nSalve amico,\r\nQuesto è un test di quiz.\r\nCià!");
rewind($stream);
$ch = curl_init("smtps://smtp.gmail.com:465");
curl_setopt($ch, CURLOPT_MAIL_FROM, "<MiaEmail@gmail.com>");
curl_setopt($ch, CURLOPT_MAIL_RCPT, array("<destinatario@mail.it>"));
curl_setopt($ch, CURLOPT_USERNAME, 'MiaEmail@gmail.com');
curl_setopt($ch, CURLOPT_PASSWORD, 'MiaPasswordGmail');
curl_setopt($ch, CURLOPT_USE_SSL, CURLUSESSL_ALL);
curl_setopt($ch, CURLOPT_UPLOAD, 1);
curl_setopt($ch, CURLOPT_READDATA, $stream);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
?>
Evolution is a process too slow to save my soul
Avatar utente
Darby_Crash
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1025
Iscrizione: lunedì 8 novembre 2010, 17:50
Desktop: Plasma
Distribuzione: Debian GNU/Linux 9.4 (stretch)
Contatti:

Re: [php] mandare mail curl

Messaggio da Darby_Crash »

zerocoll hai la casella dei messaggi privati piena...
Evolution is a process too slow to save my soul
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 9 ospiti