2 votos

Extracto de enlaces de correo electrónico basado en el texto de anclaje, no el href

Estoy armando un flujo de trabajo de Automator que me va a permitir enlazar un atajo de teclado a un Buzón de correo Inteligente listado y eficazmente automatizar la tarea de hacer clic en "darse de baja" en los correos electrónicos que tiene esa cadena de texto.

Hasta ahora, he sido parcialmente exitosa si la URL tiene la palabra "unsubscribe" en. Lo que me gustaría hacer, en cambio, es encontrar donde la palabra baja aparece y en lugar de agarrar solo esas direcciones. Así que en HTML términos, imagina que yo estoy encontrando un vínculo por su texto y, a continuación, actuando en la href

Cuando utilizo content tengo sólo el contenido del correo electrónico, pero cuando utilizo source I conseguir enlaces. Básicamente necesito una manera de asignar el contenido a la fuente.

Espero que tenga sentido. Esto es lo que tengo hasta ahora:

on run {input, parameters}
set theSource to {}
tell application "Mail"
    repeat with aMessage in input
        -- source or content
        set end of theSource to aMessage's source & return
    end repeat
end tell

return theSource as text
end run

1voto

Paul Puntos 1

Ejecutar automáticamente html en un correo electrónico.

Yo no estoy familiarizado con el Buzón de correo Inteligente, qué lenguaje se utiliza, pero a continuación es una secuencia de comandos VBA para Outlook que busca el texto "haga Clic en" que es un href a una dirección URL, extractos de la URL y se ejecuta en Internet Explorer como un enlace web.

El código es muy desordenado con muy poca documentación, sino que utiliza la División de la Matriz de funcionalidad de VBA para romper las líneas de los mensajes de correo electrónico y, a continuación, extraiga la cadena correcta después de las comillas dobles ""(Chr(34)) utilizando la matriz de posicionamiento de la ie. matriz de urltag(1) - el primer elemento de la matriz urltag.

Espero que esto ayude a alguien.

LaunchURL(itm As MailItem)

Dim bodyString As String
Dim bodyStringSplitLine
Dim bodyStringSplitWord
Dim targetline
Dim urltag
Dim splitLine
Dim splitWord
Dim intCount As Integer
Dim Fail As Integer
Dim Beforecurrent As Integer
Dim Aftercurrent As Integer
Dim Found As Integer


Fail = 0
Found = 0

bodyString = itm.HTMLBody ' Mailitem.body vs Mailitem.HTMLBody  - oMailitem.body
bodyStringSplitLine = Split(bodyString, vbCrLf) 'vbCrLf has no meaning in HTML?

For Each splitLine In bodyStringSplitLine
    bodyStringSplitWord = Split(splitLine, " ")


    For intCount = LBound(bodyStringSplitWord) To UBound(bodyStringSplitWord)
    'For Each splitWord In bodyStringSplitWord ie find out how many iterations to do.

    If intCount > 2 Then
    Beforecurrent = intCount - 1
    Aftercurrent = intCount + 2
    Else
    Beforecurrent = 1
    End If

        If bodyStringSplitWord(intCount) = "click" Then

            targetline = bodyStringSplitWord(Aftercurrent)
            urltag = Split(targetline, Chr(34))
           'i = MsgBox(urltag(1), vbOKOny) test box remove apostrophe to uncomment

            Shell ("C:\Program Files\Internet Explorer\IEXPLORE.EXE" & " " & urltag(1))
           'Shell ("cmd" & " " & "/k" & " " & "echo" & " " & bodyStringSplitWord(Aftercurrent) & " " & Fail & " " & Beforecurrent)   test box remove apostrophe to uncomment

        Found = 1

        Exit Sub
        Else:

        Fail = Fail + 1

        'Shell ("cmd" & " " & "/c" & " " & "echo boo hoo") Test box remove apostrophe to uncomment

        End If
    Next

Next

Set itm = Nothing

End Sub

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X