E-mail ellenőrzés / küldés Drupal modulban

kkwx képe

Hellósztok

Olyan kérdésem lenne, hogy létezik-e olyan megoldás a Drupalban, hogy egy űrlap elküldésénél ellenőrzi a modul, hogy létezik-e a megadott e-mail cím?
Emellett az érdekelne, hogy milyen módon küldök e-mail-t a modulon belül. Mondjuk ha elküld valaki egy űrlapot és akkor az üzemeltetők arról kapjanak egy e-mail figyelmeztetést?
Nem tudom szabad-e így két kérdést feltenni egyszerre, bár szerintem eléggé összetartozó dolgok :)

Előre is köszönök minden segítségek mindkét problémámra :)

gazsesz képe

Ha a regisztrációnál engedélyezed az e-mail ellenőrzést (alapból így van), akkor elvileg egy érvényes és működő e-mail címed van.
(Utána persze meg lehet változtatni vmi gagyira is, tehát kikerülhető.)
A form kitöltését jogosultsághoz kell kötni, így csak a regisztráltak férhetnek hozzá.
A második kérdésed már valóban új téma, de röviden megválaszolva, a webform modulban be tudod állítani, hogy ki és milyen levelet kapjon, ha vki kitöltött és beküldött egy formot.

0
0

Gazsesz

kkwx képe

sajnos nem használhatom a webform modult hanem sajátot kell írnom, így a kódban kéne leírnom, hogy kapjanak valakik e-mail-t és mivel a nem regisztráltak is elküldhetik az űrlapot így az ő megadott e-mail címüket manuálisan kell ellenőriznem :(

0
0
gazsesz képe

Nem értem, hogy miért nem lehet használni egy modult.
Akkor próbálkozz a Rules modullal, azzal is meg lehet oldani, de lehet, hogy egy kicsit bonyásabb lesz.

0
0

Gazsesz

Balogh Zoltán képe

Ilyenkor az szokott lenni, hogy ez bizony egy házi feladat :)

0
0
gazsesz képe

Volt egy ilyen sejtésem.. :)
De valszeg nem a Gusztáv tanítványa.

0
0

Gazsesz

kkwx képe

bizony, ez sajnos házi feladat :(, igaz ez nem egy létfontosságú része a dolognak, de egy ilyen funkció elég pozitív dolog lenne a munkámban :)
Szóval nincs valami megoldás, hogy modul használata nélkül a kódba ágyazzam bele az e-mail küldést?

0
0
Nagy Gusztáv képe

Ha az űrlapot webform modullal csinálod, akkor ezt a modullal egyszerűen megoldhatod.

0
0

Nagy Gusztáv

realdream képe

Levelet saját modulból pl. a
drupal_mail($module, $key, $to, $language, $params = array(), $from = NULL, $send = TRUE)
függvénnyel lehet küldeni
itt a dokumentáció:
http://api.drupal.org/api/drupal/includes--mail.inc/function/drupal_mail/6

Simple form to email example:
http://drupal.org/node/197122

<?php
/**
* Create a custom php block
* Place the block in the rh column.
*/
 
/**
* Create a form with a single text field and submit button.
*/
function my_form() {
 
  $form['email'] = array(
    '#type' => 'textfield',
    '#title' => '',
    '#size' => '20',
  );
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => 'Subscribe',
  );
  return $form;
}
 
/**
* Validate the form.
*/
function my_form_validate($form, &$form_state) {
  $valid_email = $form_state['values']['email'];
  if (!valid_email_address($valid_email)) {
  form_set_error('email', 'Your email address -- ' . $valid_email . ' -- appears malformed');
  }
}
 
/**
* Create the hook_mail function
* Required in Drupal 6
*/
function my_form_mail($key, &$message, $params) {
 
  $headers = array(
    'MIME-Version' => '1.0',
    'Content-Type' => 'text/html; charset=UTF-8; format=flowed',
    'Content-Transfer-Encoding' => '8Bit',
    'X-Mailer' => 'Drupal'
  );
 
  foreach ($headers as $key => $value) {
    $message['headers'][$key] = $value;
  }
 
  $message['subject'] = $params['subject'];
  $message['body'] = $params['body'];
}
 
/**
* Create the form submit function
*/
function my_form_submit($form, &$form_state) {
 
    $valid_email = $form_state['values']['email'];
    $from = '[email protected]';
    $body = 'New Email Sent = ' . $valid_email;
 
    $params = array(
    'body' => $body,
    'subject' => 'This is a subject',
    );
 
    //NB First argument of the drupal_mail function must match the first part of the hook_mail function.
    //Therefore the first argument is  'my_form' and the the mail hook is 'my_form_mail'
    //For more info see:
    //http://api.drupal.org/api/function/drupal_mail/6    
    //http://api.drupal.org/api/function/hook_mail/6
 
    if (drupal_mail('my_form', 'some_mail_key', $valid_email, language_default(), $params, $from, TRUE))
    {
        drupal_set_message('An email has been sent to ' . $valid_email);     
    } else {
        drupal_set_message('There was an error sending your email');
    }
}
 
/**
* Return the form.
*/
return drupal_get_form('my_form');
?>
0
0

-------------------------------
http://www.realdream.hu

kkwx képe

kösz szépen, elvileg pont erre lenne szükségem :)
ki is próbálom :)
amúgy a validate rész az mit csinál, csak teszteli, hogy jó-e a séma, mondjuk legyen benne @ meg ilyenek, vagy megvizsgálja, hogy létezik-e az e-mail?

0
0
kkwx képe

Valamit elronthattam :(
kipróbáltam és elküldi a levelet, de a téma és a tartalom is teljesen üres :(

function room_reserver_myform_submit($form, &$form_state) {
		$valid_email = '[email protected]';
    $from = '[email protected]';
    $body = t('Új foglalás a weboldalon. Ez egy automata üzenet, kérjük ne válaszoljon rá.');
 
    $params = array(
    'body' => $body,
    'subject' => t('Új foglalás!'),
    );
    if (drupal_mail('room_reserver_myform', 'some_mail_key', $valid_email, language_default(), $params, $from, TRUE))
    {
        drupal_set_message(t('Az e-mail elküldve a következő címre: ' . $valid_email));    
    } else {
        drupal_set_message(t('Hiba történt e-mail küldése közben.'));
    }
}

nem értem, pedig megadtam a body részt és a subject-et is :(

0
0
szantog képe

Ja, valszeg mert lassan elfogynak a betúk a modulodban, és ezért spórolsz velük. :)

$module A module name to invoke hook_mail() on. The {$module}_mail() hook will be called to complete the $message structure which will already contain common defaults.

A kolléga nagyon frappáns kódjában is látható:

/**
* Create the hook_mail function
* Required in Drupal 6
*/
function my_form_mail($key, &$message, $params)

Szóval a room_reserver_myform_mail hookot nem hagyhatod ki, hacsak nem tök pucér üzeneteket akarsz kiküldeni.

0
0

----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.

kkwx képe

valóban, bocs figyelmetlen voltam :), de most tökéletesen működik :)
Nagyon köszönöm :)

0
0