Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [PHP] funzione mail()

  1. #1

    [PHP] funzione mail()

    Ciao a tutti,
    ho un problema con la funzione mail() di php, ho seguito la spiegazione su php.net e sono riuscito ad inviare la mail, il problema mi si crea quando cerco di concatenare le stringhe per inserire anche il nome del mittente
    Codice PHP:
    $header "From: "$Name " <" $email ">\r\n"//optional headerfields 
    mi restituisce questo errore

    Warning: mail() [function.mail]: SMTP server response: 501 5.5.4 Invalid Address in C:\Programmi\Apache Software Foundation\Apache2.2\htdocs

    non so + deove sbattere la testa,

    grazie per l'aiuto
    Se la felicità è dietro l'angolo allora la mia vita è un cerchio. (Mario Muraro)

  2. #2
    La stringa è corretta mi pare, il tuo problema secondo me sta nella chiamata alla funzione.
    Devi usare questa sintassi:
    mail($destinatario,$oggetto,$messaggio,$header);
    In alternativa l'errore sta nelle variabili $Name o $email che potrebbero essere malformate o vuote.
    Per esempio hai notato che in name hai usato la N maiuscola? magari quando l'hai definita hai usato quella minuscola.

  3. #3
    ho risolto, almeno così sembra.

    c'è un bug nella funzione mail() di php, è per questo motivo che va in errore, e la soluzione è un po' grossolana ma sembra che funzioni

    Under windows there is a bug in php/mail

    See here: http://bugs.php.net/bug.php?id=28038

    this results in you being unable to send 'From: Full Name <me@domain.com>'

    Workaround is:

    Set the following before calling the mail function:

    ini_set('sendmail_from', 'me@domain.com);
    in pratica basta inserire questa riga
    ini_set('sendmail_from', 'me@domain.com);
    prima della chiamare la funzione mail()

    io l'ho lasciata uguale e sembra che va
    Se la felicità è dietro l'angolo allora la mia vita è un cerchio. (Mario Muraro)

  4. #4
    Sinceramente ho appena finito un ambiente gestionale in php e genero una marea di mail per notifiche agli utenti, ho usato la funzione come dicono su php.net (alias come ho scritto sopra) e tutto funziona in maniera corretta.
    Il problema potrebbe anche essere da un'altra parte, e cioè nel sender fisico della posta.
    Se usi un server linux, la funzione si appoggia a sendmail e funziona correttamente, se usi un server windows esiste una copia di sendmail ma non è efficace quanto l'originale.

    Questo è un codice simile a quello che uso io:

    $to = "info@domain.it";
    $subject = "oggetto";
    $message = "messaggio da inviare";

    $header = "From: info@domain.it" . "\r\n" .
    "MIME-Version: 1.0" . "\r\n" .
    "Content-Type: text/plain; charset=UTF-8" . "\r\n" .
    "Content-Transfer-Encoding: 8bit" . "\r\n";

    mail($to, $subject, $message, $header);

    Le aggiunte del Mime type e dell'encoding utf-8 non è necessaria, io la uso insieme ad altre funzioni per gestire le lettere accentate

    Comunque se hai risolto tanto meglio per te

  5. #5
    è vero, ho dimenticato un pezzo, il problema sembra si crei solo con i server windows
    Se la felicità è dietro l'angolo allora la mia vita è un cerchio. (Mario Muraro)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.