Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [Mail()] Problemino con una mail script

    Ciao a tutti. Mi trovo in difficolta' con una mail script che sto cercando di realizzare. Lo script si basa su un semplice form che ha una drop down con vari options (che sono le opzioni sulle quali decido a quale email inviare il tutto), un campo From: e la textarea.
    Ora vi posto il codice che ho finora scritto:

    Codice PHP:
    <?php
    echo "<center>Send to: 
    <form method=\"POST\" action=""><select value=\"contact\">
        <optgroup label=\"Administrator\">
        <option value=\"admin\">Site Admin</option>
        </optgroup>
        <optgroup label=\"Chemistry Department\">
        <option value\"admin2\">Dr. Owen</option>
        </optgroup>
    </select>


    <center>your E-mail: <input type=\"text\" name=\"from\" />


    Message:
    <textarea name=\"messaggio\" cols=50 rows=10></textarea>

    <input type=\"submit\" value=\"Invia\" /></center></form>"
    ;

    //fine form

    if(isset($_POST['messaggio'])){

    $opt_mail $_POST['contact']; //posta quale opzione e' stata scelta (se non erro -.-)
    $admin "email1@mail.com"//email admin
    $admin2 "email2@mail.com"//seconda email
    $from htmlentities($_POST['from']);  //from
    $from2 "From: $from";  
    $subject "Chemistry Portal Contact Form"//subject dell'email
    $message htmlentities($_POST['messaggio']);  //messaggio

    if($opt_mail == "admin"//controllo se e' stato scelto admin
    {
        if(
    mail($admin,$subject,$message,$from2))  //invio mail ad admin
        
    {
            echo 
    "$locale[success]";
        }
        else 
        {
            echo 
    "ERROR!";
        }
    }
    elseif(
    $opt_mail == "admin2")  //controllo se e' stato scelto admin2
    {
        if(
    mail($admin2,$subject,$message,$from2))  //invio mail ad admin2
        
    {
            echo 
    "$locale[success]";
        }
        else
        {
            echo 
    "ERROR!";
        }
    }
    else
    {
        echo 
    "Fill in all fields please.";
    }
    }
    ?>
    Non capisco perche' non mi funziona finora lo script. Non mi viene mai il messaggio ERROR! quando provo ad inviare la mail; non mi viene nessun messaggio affatto, percio' dovrei presumere che non funziona da qualche parte, o si intoppa. Una mia speculazione sarebbe nel fatto che la funzione mail() magari debba per forza avere le variabili nel modo seguente: mail($to,$subject,$message,$headers);
    Lascio il parere a voi,
    vi ringrazio in anticipo per il vostro aiuto,
    Beavey

    PS. scusatemi se utilizzo italiano ed inglese mischiati insieme
    [EDIT]: micro errore nel codice: mi ero dimenticato di copiare il tag <form>

  2. #2

  3. #3
    Non mi era venuto in mente di impostare la visualizzazione degli errori. A quanto pare c'e' un problema con il server mail. Infatti, ho controllato e quello che usavo non permetteva di inviare mail con php! Ora ho provato con un altro server e funziona.
    Grazie

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.