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
Thor Østergaard Professor
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...?
Thor Østergaard Professor
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
Thor Østergaard Professor
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 ;-)
Thor Østergaard Professor
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
Sådan afgør Lyngby Taarbæk Kommune valget mellem Schultz og KMD: "Der er ingen tvivl om, at det vil være allernemmest bare at blive hos KMD"
Interview: Kampen om at levere det nye fagsystem til Lyngby Taarbæk Kommunes jobcenter står mellem Schultz og KMD, efter KMD har opsagt den nuværende kontrakt tre måneder før tid. Læs her hvordan Lyngby Taarbæk Kommune beslutter sig for, hvilket af de to nye systemer kommunen skal bruge fra årsskiftet.
CIO
Forleden reparerede en mekaniker min bil: Det kostede 4.200 kroner, som min hjerne snød mig til at betale med et smil
De rationelle it-beslutninger du træffer er måske en illusion. Det lærte jeg da min bil gik i stykker og min hjerne snød mig til at tro, at alt var fint. Til gengæld fandt jeg tre fælder dine it-beslutninger kan falde i.
Job & Karriere
It-fagforbund rasler med sablerne over for IBM: Kræver overenskomst til 300 fyringstruede KMD-medarbejdere
It-fagforbundene Prosa og HK kræver nu, at de 300 fyringstruede KMD-medarbejdere, der den 1. oktober bliver virksomhedsoverdraget til IBM, bliver sikret med en overenskomst. Hvis kravene ikke bliver efterkommet, kan det ende med en faglig tvist, lyder det fra Prosa.
White paper
Mobility - her er de aktuelle udfordringer
Hvad med sikkerheden? Mobility-bølgen fejer igennem danske virksomheder, og der er masser af muligheder og faldgruber. Sikkerheden halter, men det kan der gøres noget ved. Produceret af Computerworld.dk i oktober 2014.