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 Guru
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
Steffen Andersen er en af Danmarks bedste CIO'er: Styrer Adform i et vildt teknologiræs mod gigantiske konkurrenter
Nomineret til Årets CIO 2018: Tag med på et vildt teknologiræs med 2,7 milliarder visninger, budprocesser på 300 millisekunder, millioner af transaktioner i sekundet og konkurrenter som Facebook og Google. Læs her, hvordan Steffen Andersen, CIO hos Adform, sikrer, at virksomheden er helt fremme teknologisk.
Computerworld
Se listen: Disse it-virksomheder drømmer de danske it-studerende om at arbejde for
Konsulenthusene buldrer frem på listen over de virksomheder, som de danske it-studerende helst vil arbejde for. "Konsulenthusene har simpelthen øget kendskabet til sig selv som arbejdsgiver blandt de it-studerende. Det kræver heftig aktivitet på de sociale medier og universiteterne," lyder det fra Universum, der står bag undersøgelsen.
CIO
Allersidste opdatering på vej: Om en uge er det slut med stor-version af Windows 10 - skynd dig at opdatere
Om en uge er det slut for altid med den første store udgave af Windows 10, som Microsoft efter 29 måneder ikke længere vil supportere.
Job & Karriere
Vil strejkende it-folk kunne lægge hele Statens It ned? "Det har vi ingen kommentarer til," lyder den kryptiske melding fra Statens It
50 it-medarbejdere hos Statens It truer med at nedlægge arbejdet i sympatistrejke. Vil det betyde, at Statens It går ned?
Statens It nægter at svare.
White paper
11 skridt, der sikrer dig det bedste udbytte af dit CRM-projekt
Dette whitepaper identificerer 11 skridt, som enhver organisation bør gennemgå i forbindelse med CRM-implementering.