igoogle Seniormester
13. februar 2018 - 12:30 Der er 7 kommentarer

Indsæt mail header og tekst i sql database

Hej,

jeg prøver at få sat en løsning op så når jeg modtager en mail så laver den en linje i min sql database med afsender header og brødteksten (første 100 tegn)

men er løbet tør for gode ideer om hvordan dette lige kan strikkes sammen.

Nogen der har nogen gode snippets som jeg kan fikse sammen ?

-igoogle
13. februar 2018 - 12:43 #1
Hvilket mailprogram bruger du?
igoogle Seniormester
13. februar 2018 - 13:05 #2
Outlook 2016
sidwave Ekspert
13. februar 2018 - 13:30 #3
find ud af formatet på mails, skil den ad med en text/hex editor/html editor

du skriver du kun vil have 100 tegn af teksten, så husk at kopiere slutningsheaderen i mailen med.
acore Ekspert
13. februar 2018 - 13:51 #4
Hvor ligger dine mails?

Hvor ligger din sql database?

Du kan med php læse mails via imap protokollen og gemme dem i din database. Så er den ged barberet. Men nu poster du under "E-mail programmer", så forestiller du dig, at dette skal ske loklat fra dit mail-program, eller...?
13. februar 2018 - 14:05 #5
Step 1

Option Explicit
Private WithEvents inboxItems As Outlook.Items
Private Sub Application_Startup()
  Dim outlookApp As Outlook.Application
  Dim objectNS As Outlook.NameSpace
 
  Set outlookApp = Outlook.Application
  Set objectNS = outlookApp.GetNamespace("MAPI")
  Set inboxItems = objectNS.GetDefaultFolder(olFolderInbox).Items
  MsgBox "her"
End Sub
Private Sub inboxItems_ItemAdd(ByVal Item As Object)
On Error GoTo ErrorHandler
Dim Msg As Outlook.MailItem
Dim MessageInfo
Dim Result
If TypeName(Item) = "MailItem" Then
    MessageInfo = "" & _
        "Sender : " & Item.SenderEmailAddress & vbCrLf & _
        "Sent : " & Item.SentOn & vbCrLf & _
        "Received : " & Item.ReceivedTime & vbCrLf & _
        "Subject : " & Item.Subject & vbCrLf & _
        "Size : " & Item.Size & vbCrLf & _
        "Message Body : " & vbCrLf & Item.Body
    Result = MsgBox(MessageInfo, vbOKOnly, "New Message Received")
End If
ExitNewItem:
    Exit Sub
ErrorHandler:
    MsgBox Err.Number & " - " & Err.Description
    Resume ExitNewItem
End Sub


Placeres i ThisOutlookSession
13. februar 2018 - 14:38 #6
Step 2

Efter
Result = MsgBox(MessageInfo, vbOKOnly, "New Message Received")


kan du indsætte

    Dim oCon As ADODB.Connection
    Dim oRS As ADODB.Recordset
    Set oCon = New ADODB.Connection
    oCon.ConnectionString = "Provider=SQLOLEDB;Server=.\SQLEXPRESS;Database=DINDATABASE; Trusted_Connection=yes;"
    oCon.Open
    oCon.Execute "INSERT INTO Emails (Mailaddress) VALUES ('" & Item.SenderEmailAddress & "')"
    '
    oCon.Close
    If Not oCon Is Nothing Then Set oCon = Nothing


Der skal desuden sættes hak i Microsoft ActiveX Data Objects xx Libray

Så skulle du kunne komme resten af vejen selv ;-)
13. februar 2018 - 14:57 #7
En lille krølle...
Hvis du vil undgå SQL Injection bør du bruge parametre

Dim oCon As ADODB.Connection
    Dim oRS As ADODB.Recordset
    Dim oCm As ADODB.Command
    Dim oPm As ADODB.Parameter
    Set oCon = New ADODB.Connection
    oCon.ConnectionString = "Provider=SQLOLEDB;Server=.\SQLEXPRESS;Database=DINDATABASE; Trusted_Connection=yes;"
    oCon.Open
    Set oCm = New ADODB.Command
    With oCm
        .ActiveConnection = oCon
        .CommandText = "INSERT INTO Emails (Mailaddress) VALUES (?)"
        .CommandType = adCmdText
        Set oPm = .CreateParameter("mailaddress", adVarChar, adParamInput, 50)
        oPm.Value = Item.SenderEmailAddress & "test"
        .Parameters.Append oPm
        .Execute
    End With
    oCon.Close
    If Not oCon Is Nothing Then Set oCon = Nothing
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

Opret Preview

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





Premium
NEC's opkøb af KMD er endeligt gennemført: Se den nye bestyrelse med japaner i spidsen
NEC har gennemført opkøbet af KMD, og nu sætter det japanske selskab et nyt hold til bestyrelsen i KMD. Den hidtidige bestyrelsesformand Jens Due Olsen bliver erstattet af en japaner. Se hele den nye bestyrelse her.
Computerworld
SSD-priserne kollapser: De lynhurtige drev koster under det halve af, hvad de gjorde i 2018
Efter en periode med prisstigninger, falder priserne på de hurtige SSD-drev nu hastigt.
CIO
Tech fra Toppen: Det har CIO Mads Madsbjerg Hansen fra FLSmidth lært af flere års global it-konsolidering
Tech fra Toppen: Flere års arbejde har betydet en reduktion i antallet af it-systemer hos FLSmidth. Men processen har ikke været uden overraskelser. Hør hvad CIO Mads Madsbjerg Hansen har lært af den omfattende og globale proces.
Job & Karriere
Toke Kruse: Jeg spår, at humankapital i 2019 erstattes af it-kapital
I 2019 vil vi se en kæmpe udskiftning af ressourcer, hvorunder de menneskelige processer overtages af software, der gør os mennesker hurtigere og mere effektive. Betyder det store fyringsrunder? Måske.
White paper
Vil du snydes når du skal vælge printløsning?
Svaret er forhåbentlig/naturligvis nej, men sandheden er at det er et reelt problem for mange virksomheder. I langt de fleste tilfælde skrives der under på kontrakter, der binder virksomheder til unødigt kostbare og langvarige leasing og lejeforløb, og underskriften er desværre bindende. Derfor – der er mange penge at spare ved at få den rigtige rådgivning og sætte sig ind i aftalerne, og vi har samlet 5 gode råd i dette whitepaper.