Avatar billede kennijensen Nybegynder
08. april 2004 - 21:59 Der er 17 kommentarer og
7 løsninger

Check om der er nogle mails i indbakke (inbox)

Jeg har en supportgruppe der automatisk for en mail, hvis der kommer en mail i indbakken for vores infomails. Det kan godt være irriterende for dem, da der ind imellem kommer mange mails.

Derfor ville jeg godt fra min mailagent (særskilt nsf database) sætte en formel op, som checker om der er nogle mails i indbakken i inbox på info-databasen.

Hvis dette er tilfældet så skal der ex. hver time sende en mail til supportgruppen.

Mit spørgsmål er derfor, hvordan kan jeg checke, at der er nogle mails i inbox via en formel ?

Svar skal være med formel og ikke med script.

Glæder mig til et svar
Avatar billede mmmtm Nybegynder
09. april 2004 - 11:40 #1
Du vil altså have en agent, der sender en mail i timen (hvis at der er kommet mail i info indbakken)?
Avatar billede kennijensen Nybegynder
09. april 2004 - 12:33 #2
Agenten kan jeg godt lave. Jeg kender bare ikke formlen der checker om der er mails i inbox
Avatar billede mmmtm Nybegynder
09. april 2004 - 21:00 #3
Det kommer lidt an på hvordan du sætter det op.
Bliver mails fjernet fra ínbox når de er læst ?
For så kan du jo lave en dbcolumn på inbox'en - som kører 1 gang i timen - og hvis den intet returnerer er der ikke kommet nogle mails.
Hvorfor ligger agenten i en særskildt nsf fremfor at ligge i info-databasen ?
Du må gerne være lidt mere specifik, om muligt.
Avatar billede kennijensen Nybegynder
09. april 2004 - 23:01 #4
Jeg kan også lægge agenten i info-databasen, men jeg har samlet mine agenter i en særskilt agent-database, hvor jeg nemt kan sætte op formler og hvem der skal have mailen.

Ja, mailsene bliver fjernet fra inbox og slettes eller flyttet til en anden mappe efter de er læst. Så hvis du kan lave noget med dbcolumn, så takker jeg.

Hvis du giver mig den kode du ellers ville lave i en agent, så er det meget flot
Avatar billede mmmtm Nybegynder
10. april 2004 - 11:51 #5
Flg. @DbColumn henter indholdet af afsenderfeltet fra de mails der er i indbakken (mappen ($inbox)).Hvis indholdet af ReturnValue er tomt (="") , er der ingen mails i inbox - ellers er der, og du kan så udfra det, lave en @mailsend fx. en gang i timen.
ReturnValue:=@DbColumn( "":"NoCache" ; "servernavn" : "infodatabasenavn.nsf" ; "($inbox)" ;2 );
Avatar billede kennijensen Nybegynder
12. april 2004 - 17:42 #6
Det virker desværre ikke 100%. Jeg har lavet en agent direkte i info.nsf til test.
ReturnValue:=@DbColumn( "":"NoCache" ; "" : "" ; "($inbox)" ;2 );
@If(ReturnValue!="";@Prompt([OK];"Reminder";ReturnValue);"");SELECT @All

1. Den tager og checker alle dokumenter. Dvs. i dette tilfælde 248, da det er det antal man kan finde i all viewet. Den prompter navnet på den først mail, som jo også er korrekt.

Jeg kan ikke se den formel, som gør det kun er de mails der er i $inbox jeg søger på.
Den kan jeg jo ikke når $inbox desværre er en mappe og ikke et view. Hmm

Der er p.t. kun 5 mails i indbakken. Kan du give mig formlen, så det kun er den oversigt / de mails der søges på ?
Avatar billede mmmtm Nybegynder
12. april 2004 - 22:27 #7
($inbox) ER indbakken.
@DbColumn( "":"NoCache" ; "" : "" ; "($inbox)" ;2 )læser kun i indbakken.
Du skriver at der pt. kun er 5 mails i indbakken - hvis du fjerner alle mails fra indbakken, kan du se at formlen virker - eftersom at all og inbox umiddelbart viser det samme.
Prøv at flyt de mails du har i indbakken til en anden mappe - så kan du se at det virker.
Avatar billede mmmtm Nybegynder
12. april 2004 - 22:36 #8
..endvidere: @DbColumn slår op i enten i et view eller en mappe - og Notes tillader ikke at et view eller en mappe har samme navn.
Avatar billede kennijensen Nybegynder
13. april 2004 - 09:46 #9
Det fungerer 99%. Der er korrekt, at den kun læser i inbox og den er også false, hvis ingen mails er. Hvis der så er bare 1 mail, så vil den også tage alle de mails der er i mapper og i sendt post. Det er jo ikke helt korrekt. Det er jo fordi der er en eller anden udvægelse for at jeg kun skal se de mails der er indkomne .. som i inbox oversigten.

Har du denne formel ?

Det jeg vil er at, hvis ReturnValue:=@DbColumn( "":"NoCache" ; "" : "" ; "($inbox)" ;2 ); er TRUE, så skal den sende 1 mail og derefter stoppe agenten, da jeg ikke ønsker at sende en mail pr. mail der er i listen.
Avatar billede mmmtm Nybegynder
13. april 2004 - 10:19 #10
Du laver bare din mailsend afhængig af ReturnValue:
ReturnValue:=@DbColumn( "":"NoCache" ; "" : "" ; "($inbox)" ;2 );
@if(ReturnValue!="";@MailSend( sendTo ; copyTo ; blindCopyTo ; subject ; remark ; bodyFields ; [ flags ] );"");
Avatar billede kennijensen Nybegynder
13. april 2004 - 10:23 #11
Denne formel bliver jo ved indtil der ikke er flere dokumenter. Dvs. evt. 250 mails. Er vi enige ?
Avatar billede mmmtm Nybegynder
13. april 2004 - 11:36 #12
Nej. Den sender 1 mail, uanset hvor mange mails der ligger i indbakken. Den kører på om der ligger noget i ReturnValue eller ej - og ikke på hvor meget der ligger.
Avatar billede kennijensen Nybegynder
13. april 2004 - 12:12 #13
Jeg håbede ellers du havde ret. Hmm desværre. Har lige fået 247 mails i @mail afsending. Den kører jo agenten til ende (247 gange), så jeg kan personligt godt se rent teknisk at den skal sende 247 mails. Kan man stoppe agenten efter 1. mailafsendelse ?
Avatar billede mmmtm Nybegynder
13. april 2004 - 13:06 #14
"Manuelt" kørt kører den korrekt - så koden fejler intet.
Men hvis du kører agenten skeduleret og på alle (eller nye/redigerede siden sidst) dokumenter, går det jo galt - eftersom du så beder om at få den kørt ligeså mange gange som der er mails...
Avatar billede kennijensen Nybegynder
13. april 2004 - 13:10 #15
Jeg kørte denne agent manuelt.

Ser sådan ud :

SendTo:="Kenni Jensen/CALAMUS";
Subject:="TEST";
%teMsgNew := "Dette brev er lavet automatisk : TEST";
ReturnValue:=@DbColumn( "":"NoCache" ; "" : "" ; "($inbox)" ;2 );
@If(ReturnValue != "";@MailSend(SendTo;"";"";Subject; %teMsgNew;"";[IncludeDoclink]);"");SELECT @All
Avatar billede mmmtm Nybegynder
13. april 2004 - 14:07 #16
Ligger agenten i maildatabasen eller i den særskildte agentbase ?
Avatar billede kennijensen Nybegynder
13. april 2004 - 14:09 #17
Jeg har lagt den direkte i info databasen
Avatar billede mmmtm Nybegynder
13. april 2004 - 14:18 #18
Har du nogle dokumenter i din agentbase ?
Avatar billede kennijensen Nybegynder
13. april 2004 - 14:21 #19
Hvad mener du ?

Jeg bruger ikke min normale agentdatabase til dette. Det er kun for at gøre det korrekt 1. gang.

Jeg har lagt agenten i info.nsf og kører agenten manuelt derfra.

Ingen mails sendes når der ikke er mails i inbox, men 247 sendes, hvis der blot er en mail.
Avatar billede mmmtm Nybegynder
13. april 2004 - 14:42 #20
Du ville da have agenten i din agentbase ?
Hvis du i agentbasen opretter en form, med et enkelt felt (fx. agentRunner) og opretter et dokument hvor agentRunner (fx)  ="1" - kan du sætte agenten til at køre skeduleret, på de dokumenter der har et felt - agentRunner - med værdien 1.
Det kan du selvfølgelig også gøre i maildb'en - men det er måske ikke så smart hvis der er brugere der har adgang til den. Så kører den kun een gang.
Avatar billede kennijensen Nybegynder
13. april 2004 - 14:44 #21
Jeg har besluttet af den skal køre i info.nsf, da den skal køre flere gange om dagen.
Derfor vil jeg ikke bruge min mailagent.nsf til dette
Avatar billede mmmtm Nybegynder
13. april 2004 - 14:46 #22
Så opret ovst. form og dokument i infobasen. Tilføj evt. et readersfield med dig selv i, hvis det skal skjules for andre.
Avatar billede kennijensen Nybegynder
13. april 2004 - 14:51 #23
Den forstod jeg ikke.

Jeg har fuld adgang til info.nsf, hvor jeg også kører agenten. Jeg er ikke bange for de andre har adgang til agenten, men bare det kører automatisk
Avatar billede mmmtm Nybegynder
13. april 2004 - 15:04 #24
Ok.
I infodatabasen opretter du en mail som kladde.
I subject skriver du noget unikt, fx. "xy1214u".
I agenten tilføjer du et søgekriterie med at subject skal indeholde "xy1214u". Agenten sætter du til at køre skeduleret - og på alle dokumenter i databasen.
Antallet af mails med "xy1214u" er så afgørende for hvor mange mail der sendes (hvis der er mails i inbox, altså).
Det er ikke den rigtige måde at gøre det på - så skal vi over i script - men det virker.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester