Ga naar inhoud
  • 0

Automatische mail


rmyvml

Vraag

ik heb alweer een vraag, deze keer gaat het over een automatische mail.

 

mijn bedoeling is:

 

Een gebruiker maakt via een php pagina een melding, deze word als record opgeslagen in filemaker pro.

Omdat wij als ICT'ers niet constant in filemaker zitten, maar wel altijd onze telefoon (met mail) bij hebben, zou ik graag een automatische mail willen sturen zodra er een nieuwe record binnenkomt.

 

iemand een idee hoe dit valt te realiseren?

 

Groetjes Remy Vermeulen.

Link naar reactie

18 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Wil je een mail zodra het record wordt aangemaakt of wil je op gezette tijden kijken of er nieuwe records zijn en die vervolgens mailen?

Het maakt eigenlijk niet zoveel uit welke van de twee.

 

Beide kan je oplossen door een nieuw record een kenmerk mee te geven (auto-enter in de velddefinitie) waarop je kan zoeken.

En daarnaast een client hebben draaien die een timer instelt middels het opstartscript. De timer start telkens een script dat zoekt naar nieuwe records, mailt en zet het kenmerk uit.

Voor geval 1 zet je het interval van de timer op 1 seconde. Voor geval 2 kan je 300 seconden (5 minuten) gebruiken.

Als je in de mail-script-stap mailt via de server (kan dat eigenlijk al in 10?????????), heb je geen mail client nodig

 

rmw

Link naar reactie
  • 0
Een gebruiker maakt via een php pagina een melding, deze word als record opgeslagen in filemaker pro.

Dat betekent dat je na een error check (als er dus geen error is en het record dus opgeslagen is) in het zelfde php script nog een mail kunt verzenden met de PHP functie mail () of je kunt een script aanmaken in Filemaker die dat voor je doet en dat script vanuit je php file triggeren na de genoemde error check (met de PHP API).

 

Groet, Niels

Link naar reactie
  • 0

ik heb het via php geprobeert mail() ... maar die functie wil op een of andere manier niet werken. (ook php.ini aangepast)

Script trigger op een veld werkt ook niet omdat het veld word gevuld via php. dus bijtoegang, toetsaanslag, wijzigen, opslaan en verlaten werken niet.

 

Beide kan je oplossen door een nieuw record een kenmerk mee te geven (auto-enter in de velddefinitie) waarop je kan zoeken.

En daarnaast een client hebben draaien die een timer instelt middels het opstartscript. De timer start telkens een script dat zoekt naar nieuwe records, mailt en zet het kenmerk uit.

Voor geval 1 zet je het interval van de timer op 1 seconde. Voor geval 2 kan je 300 seconden (5 minuten) gebruiken.

Als je in de mail-script-stap mailt via de server (kan dat eigenlijk al in 10?????????), heb je geen mail client nodig

 

rmw

 

Deze oplossing blijft dan over, maar hoe krijg ik het voor elkaar? hoe krijg ik een kenmerk aan een nieuw record... en krijg ik die met een script weer weg:?

Link naar reactie
  • 0

dit zou ik persoonlijk niet doen.

 

Persoonlijk opteer ik voor de manier van tackenco: Via PHP schrijf je de record weg, doe de error check in het php script en roep dan een filemaker script aan met behulp van de PHP API voor FileMaker. Alles gebeurt dus via PHP.

 

edit: fout citaat :-)

aangepast door Gast
Link naar reactie
  • 0

ik neem aan dat ik deze regel moet gebruiken??

 

$newPerformScript =& $fm->newPerformScriptCommand('Order Summary', 'ComputeTotal');

$result = $newPerformScript->execute();

 

Maar waar moet ik deze dan neerzetten.... en wat moet ik hieraan veranderen??

 

sorry als ik stomme vragen stel, maar snap er echt niks van...

Link naar reactie
  • 0
Persoonlijk opteer ik voor de manier van dudematters

Hee Andries, dat was het voorstel van Tackenco hoor :D

Maar waar moet ik deze dan neerzetten.... en wat moet ik hieraan veranderen??

Waar je die moet neerzetten is nadat de gegevens zijn toegevoegd aan de database, dat kan je controleren met de error controle functie. Dus als er geen error is dan de execute script command.

 

Ik heb een stukje uit een script van mij gecopieerd. Hier wordt een script uitgevoerd nadat een record verwijderd is:

// check to see that 'recid' got passed in
if (array_key_exists('recid', $_GET)) {
// get record object
$rec = $fm->getRecordById('php_bestellingregels', $_GET['recid']);
$artikel = $rec->getField('Artikel ID');
$cadeaulist = $rec->getField('Kadolijst ID');
// delete record	
if (!$rec->delete()) {
    echo 'Record deletion failed';
    exit;
}
}
$record =& $fm->newPerformScriptCommand('artikelen_sync', 'syncArtikel', $artikel);
$result = $record->execute();

 

Het hoeft natuurlijk niet precies zo, het is maar een voorbeeldje 8O

 

Succes, Niels

Link naar reactie
  • 0

$newPerformScript =& $fm->newPerformScriptCommand('melding_maken', 'Mail');
$result = $newPerformScript->execute();

 

dit heb ik er nu in staan. maar zodra ik nu een nieuw record toevoeg krijg ik dit in de pagina:

 

Notice: Only variable references should be returned by reference in C:\Program Files\FileMaker\FileMaker Server\Web Publishing\publishing-engine\php\FileMaker\Command.php on line 126

 

 

 

sorry voor al mijn vragen, ik probeer er natuurlijk eerst zelf uit te komen, maar ik ben niet bepaalt een held met php api...

Link naar reactie
  • 0

Je bent er bijna.

 

Deze melding geeft precies aan waar er iets fout zou moeten zijn in je script. namelijk op lijn 126 (heb je de lijnnummers aanstaan in je editor?)

 

Je gebruikt nu $fm-> als object. Is dat object al gecreëerd?

 

Als het goed is maak je ergens in het begin van je script een connectie met de filemaker database, daar maak je het object wat je zou moeten gebruiken.

 

Je mag ook je script meesturen, dan kunnen we even met je mee kijken.

 

Groet, Niels

Link naar reactie
  • 0





PC probleem




<?php $activelink = 'browserecord.php'; include_once 'navigation.php' ?>


Melding



name="-recid" value="<?php echo $recid ?>">

Melding ID

<?php echo nl2br( $record->getField('melding_ID', 0))?>

Status

<?php echo nl2br( $record->getField('status', 0))?>

Datum

<?php echo displayDate( $record->getField('huidige_datum', 0), $displayDateFormat)?>

Tijd

<?php echo displayTime( $record->getField('huidige_tijd', 0), $displayTimeFormat)?>

Naam

<?php echo nl2br( $record->getField('achternaam', 0))?>

E-mail

<?php echo nl2br( $record->getField('email', 0))?>

Mail CC

<?php echo nl2br( $record->getField('mail_cc', 0))?>

Telefoon

<?php echo nl2br( $record->getField('tel', 0))?>

Locatie

<?php echo nl2br( $record->getField('locatie', 0))?>

Groep

<?php echo nl2br( $record->getField('Groep', 0))?>

Korte omschrijving

<?php echo nl2br( $record->getField('korte omschrijving', 0))?>

Uitgebreide omschrijving

<?php echo nl2br( $record->getField('omschrijving', 0))?>

Oplossing 1

<?php echo nl2br( $record->getField('oplossing_1', 0))?>

Oplossing 2

<?php echo nl2br( $record->getField('oplossing_2', 0))?>

 




Indien u nog vragen/opmerkingen/verbeteringen voor deze site heeft kunt u deze mailen naar Remy Vermeulen







Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...