can read chase balance report
parent
9dc2c7ecac
commit
b7557c5a20
|
|
@ -103,14 +103,16 @@ func (c *chaseScraper) scrape2025Balance(m *mail.Message) ([]*Transaction, error
|
|||
amount := fields[len(fields)-1]
|
||||
amount = strings.TrimLeft(amount, "$")
|
||||
amount = strings.ReplaceAll(amount, ",", "")
|
||||
amount = fmt.Sprintf("=%s", amount)
|
||||
|
||||
b, err := ioutil.ReadAll(m.Body)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
re = regexp.MustCompile(`>Chase = [^<]*`)
|
||||
account := strings.TrimPrefix(string(re.Find(b)), ">Chase = ")
|
||||
re = regexp.MustCompile(`\(\.\.\.([0-9]{4})\)`)
|
||||
submatches := re.FindSubmatch(b)
|
||||
account := string(submatches[len(submatches)-1])
|
||||
|
||||
return []*Transaction{NewTransaction(account, amount, "*", fmt.Sprint(m.Header["Date"]), Chase)}, nil
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,22 +4,23 @@ import (
|
|||
"bytes"
|
||||
"io/ioutil"
|
||||
"net/mail"
|
||||
"os"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestScrapeChase2025Balance(t *testing.T) {
|
||||
b, _ := os.ReadFile("testdata/chase.2025.balance.txt")
|
||||
|
||||
message := &mail.Message{
|
||||
Header: map[string][]string{
|
||||
"Subject": []string{"Your Chase Freedom Unlimited balance is $1,029.08"},
|
||||
},
|
||||
Body: bytes.NewReader([]byte(`
|
||||
TODO
|
||||
`)),
|
||||
Body: bytes.NewReader(b),
|
||||
}
|
||||
|
||||
chase := &chaseScraper{}
|
||||
|
||||
gots, err := chase.scrape2025balance(message)
|
||||
gots, err := chase.scrape2025Balance(message)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
|
@ -31,7 +32,7 @@ func TestScrapeChase2025Balance(t *testing.T) {
|
|||
if got.Account != "5876" {
|
||||
t.Fatalf("bad account: %v: %+v", got.Account, got)
|
||||
}
|
||||
if got.Amount != "1029.08" {
|
||||
if got.Amount != "=1029.08" {
|
||||
t.Fatalf("bad amount: %v: %+v", got.Amount, got)
|
||||
}
|
||||
if got.Vendor != "*" {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,450 @@
|
|||
Delivered-To: breellocaldev@gmail.com
|
||||
Received: by 2002:a05:6022:841f:b0:65:30d1:7dd8 with SMTP id cd31csp2448994lab;
|
||||
Tue, 14 Jan 2025 06:30:20 -0800 (PST)
|
||||
X-Google-Smtp-Source: AGHT+IHYZt9A+xv7R+D4Y7HTjuMOF9AEKaiIlF4EdjFtsSfmydmud4yvbL76Eu3hDdG3gPzkKq0q
|
||||
X-Received: by 2002:a05:6102:26c8:b0:4b2:ad82:133a with SMTP id ada2fe7eead31-4b3d0eb943emr21123581137.25.1736865019937;
|
||||
Tue, 14 Jan 2025 06:30:19 -0800 (PST)
|
||||
ARC-Seal: i=1; a=rsa-sha256; t=1736865019; cv=none;
|
||||
d=google.com; s=arc-20240605;
|
||||
b=Rc1IYtgLaCuSXjmliSBjzCic5e4nKmKGznZ2oE2tH/uDoOMup1O1tttRQlC9cOctpQ
|
||||
bnab4p6dFpkgMbRJQ5bkUq8hZBufvpTISsrBVrl1QeHuX+IpOCAJSVWAhq/4DlFZYsOg
|
||||
DJz4bmNsRXBI3/sY5s6F6lBovD5TyJhrxrIOR9BucgdcF1MpggUIa7BUDFjUHMmnRJbl
|
||||
w9aFWQUzts6j/EbqCrzfcG8VwSqNI+92NacyHUZBQW3FkGFOL6awi+mFWB54aE2pbMfd
|
||||
gs70fluhGntfisIoN+FLhbSh3tDYJx+s2jradTChgYHSDzbS+d6OLLtlmbQLw8XDwMZU
|
||||
PzOg==
|
||||
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
|
||||
h=retry-count:notification-id:content-transfer-encoding:mime-version
|
||||
:subject:message-id:to:from:date:dkim-signature;
|
||||
bh=3jCY5JM6cbpoPMj0taKBjFy0yqql6DMNeO04KlgY7p8=;
|
||||
fh=lrt9myTdNYNEckm/XjduC9YuGfYr3v7r45vYTr/7vKM=;
|
||||
b=eKMw8xKjUKtT6k6DyEh0UDuPooWFu1Si3rlu8EVh+kAGTUorD+6X8psBD/n15j+msg
|
||||
+07h4M8xk0FSAMUcRsVENUp9ptnGW6Mt7gBO0CrxdspczNz1ZcKvC61YVevslrqN535F
|
||||
ndp54648k1fLGbFVQwsRViJkHGne9v8nHw6jYyVC8aU2dwKxTNJBznzgnkyppF6Se1ti
|
||||
htPjPmc+wVUL0uoz+OhVDCoKhDn+PfyjS5dDdb1kk9EM1WgxW66CrGxGC78pJstZJv9i
|
||||
tH7ImIDKoyPCRrr57faT+tN5JoA9uR+ANX9jXeFspgyfwuPIXvXzZmfRlwRch4IYp/Vj
|
||||
Cdlw==;
|
||||
dara=google.com
|
||||
ARC-Authentication-Results: i=1; mx.google.com;
|
||||
dkim=pass header.i=@chase.com header.s=d4815 header.b=Sn1+UmH9;
|
||||
spf=pass (google.com: domain of no.reply.alerts.14@chase.com designates 146.143.72.23 as permitted sender) smtp.mailfrom=no.reply.alerts.14@chase.com;
|
||||
dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=chase.com
|
||||
Return-Path: <no.reply.alerts.14@chase.com>
|
||||
Received: from vsin80p3166.jpmchase.com (vsin80p3166.jpmchase.com. [146.143.72.23])
|
||||
by mx.google.com with ESMTPS id ada2fe7eead31-4b60929a598si3998057137.312.2025.01.14.06.30.19
|
||||
for <breellocaldev@gmail.com>
|
||||
(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
|
||||
Tue, 14 Jan 2025 06:30:19 -0800 (PST)
|
||||
Received-SPF: pass (google.com: domain of no.reply.alerts.14@chase.com designates 146.143.72.23 as permitted sender) client-ip=146.143.72.23;
|
||||
Authentication-Results: mx.google.com;
|
||||
dkim=pass header.i=@chase.com header.s=d4815 header.b=Sn1+UmH9;
|
||||
spf=pass (google.com: domain of no.reply.alerts.14@chase.com designates 146.143.72.23 as permitted sender) smtp.mailfrom=no.reply.alerts.14@chase.com;
|
||||
dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=chase.com
|
||||
Received: from pps.filterd (vsin80p3166.dmz.us.jpmchase.net [127.0.0.1]) by vsin80p3166.jpmchase.com (8.18.1.2/8.18.1.2) with ESMTP id 50EDZ96f024767 for <breellocaldev@gmail.com>; Tue, 14 Jan 2025 14:30:18 GMT
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chase.com; h=content-transfer-encoding : content-type : date : from : message-id : mime-version : subject : to; s=d4815; bh=3jCY5JM6cbpoPMj0taKBjFy0yqql6DMNeO04KlgY7p8=; b=Sn1+UmH9sAIKrcSjgZt+WYnhb6bWokFKDnKcueoi51YEx1PhxifjbnkH5vC7IxwUTzGA isW1vjStyAi0mF64goItdf4GQBbD2hajG8GhPsDDlssHM5mwLi8Yz07B/p1mrHp8wCqf PRn278RbCw/hP7x2enyrd4WKASn3b/TLQId35h+j8OJk8cDOS/zw2iF/SA7C51hSTcEj Pnm84TIJXer81VZzGC4ReReIpWQbN5Is/A/25h1vLu21Ahb8aIIQ3QHI1D2B2jshpO17 6CzXpxUsBWscUXJWNvrjgqeSlLJW3MPD9bb//uKb+qLr3oGQQ7uD+KOnSG8iqmQPpXHZ lg==
|
||||
Received: from vsin68p8372.nane.jpmchase.net ([169.103.129.216]) by vsin80p3166.dmz.us.jpmchase.net (PPS) with ESMTPS id 4443sjtnqe-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for <breellocaldev@gmail.com>; Tue, 14 Jan 2025 14:30:18 +0000
|
||||
Received: from iaasn00692074.nane.jpmchase.net (iaasn00692074.nane.jpmchase.net [169.103.127.222])
|
||||
by vsin68p8372.nane.jpmchase.net
|
||||
with ESMTP id 50EEUHGS011857
|
||||
for <breellocaldev@gmail.com>; Tue, 14 Jan 2025 14:30:17 GMT
|
||||
Date: Tue, 14 Jan 2025 14:30:17 +0000 (UTC)
|
||||
From: Chase <no.reply.alerts@chase.com>
|
||||
To: breellocaldev@gmail.com
|
||||
Message-ID: <128726875.10629657.1736865017764.JavaMail.webuser@iaasn00692074>
|
||||
Subject: Your Chase Freedom Unlimited balance is $1,029.08
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/html; charset=UTF-8
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
NOTIFICATION-ID: CREDIT_BATCH_BALANCE-28a12d61790b7acb6dc0d2075b17f7c0380224e9a180581da96fa1a87b454084-ver4-31-941c9e20-41c8-3b3c-aefd-f27755b09008
|
||||
RETRY-COUNT: 0
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
|
||||
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en">
|
||||
<head>
|
||||
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DUTF-8" =
|
||||
/>
|
||||
<meta name=3D"viewport" content=3D"width=3Ddevice-width, initial-scale=3D=
|
||||
1.0"/>
|
||||
<title>See more details about your card balance.</title>
|
||||
<style type=3D"text/css">
|
||||
* {
|
||||
=09line-height: normal !important;
|
||||
}
|
||||
strong {
|
||||
=09font-weight: bold !important;
|
||||
}
|
||||
em {
|
||||
=09font-style: italic !important;
|
||||
}
|
||||
body {
|
||||
=09background-color: #d7dbe0 !important;
|
||||
=09-webkit-text-size-adjust: none !important;
|
||||
}
|
||||
.ExternalClass * {
|
||||
=09line-height: 112%
|
||||
}
|
||||
.ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClas=
|
||||
s td {
|
||||
=09line-height: 112%
|
||||
}
|
||||
td {
|
||||
=09-webkit-text-size-adjust: none;
|
||||
}
|
||||
a[href^=3Dtel] {
|
||||
=09color: inherit;
|
||||
=09text-decoration: none;
|
||||
}
|
||||
.applelinksgray41 a {
|
||||
=09color: #414042 !important;
|
||||
=09text-decoration: none;
|
||||
}
|
||||
.applelinksgray a {
|
||||
=09color: #717171 !important;
|
||||
=09text-decoration: none;
|
||||
}
|
||||
.wordBreak {
|
||||
=09overflow-wrap: break-word;
|
||||
=09word-wrap: break-word;
|
||||
=09word-break: break-all;
|
||||
=09word-break: break-word;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 800px) {
|
||||
.fullWidth {
|
||||
=09width: 100% !important;
|
||||
=09min-width: 100% !important;
|
||||
=09margin-left: auto !important;
|
||||
=09margin-right: auto !important;
|
||||
=09padding: 0px !important;
|
||||
=09text-align: center !important;
|
||||
}
|
||||
.hero {
|
||||
=09width: 100% !important;
|
||||
=09height: auto !important;
|
||||
}
|
||||
.moPad {
|
||||
=09padding-right: 20px !important;
|
||||
=09padding-left: 20px !important;
|
||||
}
|
||||
.zeroPad {
|
||||
=09padding-right: 0px !important;
|
||||
=09padding-left: 0px !important;
|
||||
}
|
||||
.font14 {
|
||||
=09font-size: 14px !important;
|
||||
}
|
||||
.font24 {
|
||||
=09font-size: 24px !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media print and (max-width: 800px) {
|
||||
.fullWidth {
|
||||
=09width: 100% !important;
|
||||
=09min-width: 100% !important;
|
||||
=09margin-left: auto !important;
|
||||
=09margin-right: auto !important;
|
||||
=09padding: 0px !important;
|
||||
=09text-align: center !important;
|
||||
}
|
||||
.hero {
|
||||
=09width: 100% !important;
|
||||
=09height: auto !important;
|
||||
}
|
||||
.moPad {
|
||||
=09padding-right: 20px !important;
|
||||
=09padding-left: 20px !important;
|
||||
}
|
||||
.zeroPad {
|
||||
=09padding-right: 0px !important;
|
||||
=09padding-left: 0px !important;
|
||||
}
|
||||
.font14 {
|
||||
=09font-size: 14px !important;
|
||||
}
|
||||
.font24 {
|
||||
=09font-size: 24px !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body style=3D"padding: 0px;margin: 0px; background-color:#d7dbe0;">
|
||||
<table align=3D"center" width=3D"100%" border=3D"0" cellspacing=3D"0" cel=
|
||||
lpadding=3D"0" style=3D"min-width:800px; background-color:#d7dbe0;" class=
|
||||
=3D"fullWidth">
|
||||
<tr>
|
||||
<td align=3D"center" style=3D"vertical-align:top; padding:0px 0px 20p=
|
||||
x 0px; min-width:800px; background-color:#d7dbe0;" class=3D"fullWidth"><tab=
|
||||
le align=3D"center" width=3D"800" cellpadding=3D"0" cellspacing=3D"0" borde=
|
||||
r=3D"0" class=3D"fullWidth" style=3D"background-color:#FFFFFF;">
|
||||
<!-- Start of Content -->
|
||||
<tr>
|
||||
<td align=3D"center" style=3D"vertical-align:top; padding: 23px=
|
||||
0px 0px;background-color: #005EB8;"><table cellpadding=3D"0" cellspacing=
|
||||
=3D"0" border=3D"0">
|
||||
<tr>
|
||||
<td align=3D"right" style=3D"vertical-align:bottom; paddi=
|
||||
ng:0px 0px; width:12px;"><img src=3D"https://www.chase.com/content/dam/emai=
|
||||
l/images/blue-left.jpg" width=3D"12" height=3D"226" border=3D"0" style=3D"d=
|
||||
isplay:block;" alt=3D""/></td>
|
||||
<td align=3D"center" style=3D"vertical-align:bottom; padd=
|
||||
ing: 0px 0px 0px;width:616px; background-color: #FFFFFF;"><table width=3D"1=
|
||||
00%" cellpadding=3D"0" cellspacing=3D"0" border=3D"0">
|
||||
<tr>
|
||||
<td align=3D"left" style=3D"vertical-align:top; pad=
|
||||
ding: 0px 0px; background-color: #ffffff;"><table width=3D"100%" cellpaddin=
|
||||
g=3D"0" cellspacing=3D"0" border=3D"0">
|
||||
<!-- Start hidden preview text -->
|
||||
<div style=3D"display: none; max-height: 0px; o=
|
||||
verflow: hidden;">See more details about your card balance.</div>
|
||||
|
||||
<!-- Insert ‌ after hidden preview t=
|
||||
ext -->
|
||||
|
||||
<div style=3D"display: none; max-height: 0px; o=
|
||||
verflow: hidden;"> ‌ ‌ ‌ ‌ &z=
|
||||
wnj; ‌ ‌ ‌ ‌ ‌ &zwnj=
|
||||
; ‌ ‌ ‌ ‌ ‌ &z=
|
||||
wnj; ‌ ‌ ‌ ‌ ‌ &zwnj=
|
||||
; ‌ ‌ ‌ ‌ ‌ ‌&n=
|
||||
bsp;‌ ‌ ‌ ‌ ‌ ‌ =
|
||||
;‌ ‌ ‌ ‌ ‌ ‌ &z=
|
||||
wnj; ‌ ‌ ‌ ‌ ‌ &zwnj=
|
||||
; ‌ ‌ ‌ ‌ ‌ ‌&n=
|
||||
bsp;‌ ‌ ‌ ‌ ‌ ‌ =
|
||||
;‌ ‌ ‌ ‌ ‌ ‌&n=
|
||||
bsp;‌ ‌ ‌ ‌ ‌ ‌ =
|
||||
;‌ ‌ ‌ ‌ ‌ ‌ &z=
|
||||
wnj; ‌ ‌ ‌ ‌ ‌ &zwnj=
|
||||
; ‌ ‌ ‌ ‌ ‌ ‌&n=
|
||||
bsp;‌ ‌ ‌ ‌ ‌ ‌ =
|
||||
;‌ ‌ ‌ ‌ ‌ ‌ &z=
|
||||
wnj; </div>
|
||||
<!-- End hidden preview text -->
|
||||
<tr>
|
||||
<td align=3D"left" style=3D"vertical-align:to=
|
||||
p;padding-left: 30px; background-color: #ffffff;" class=3D"moPad"><table wi=
|
||||
dth=3D"100%" cellpadding=3D"0" cellspacing=3D"0" border=3D"0">
|
||||
<tr>
|
||||
<td align=3D"left" style=3D"vertical-al=
|
||||
ign:bottom; padding:36px 0px 20px;"><img src=3D"https://www.chase.com/conte=
|
||||
nt/dam/email/images/chase-logo-h-rgb.png" width=3D"104" height=3D"20" borde=
|
||||
r=3D"0" style=3D"display:block;" alt=3D"Chase Logo"/></td>
|
||||
</tr>
|
||||
</table></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align=3D"left" style=3D"vertical-align:to=
|
||||
p; padding: 20px 28px 0px; background-color: #ffffff;" class=3D"moPad"><tab=
|
||||
le align=3D"left" cellpadding=3D"0" cellspacing=3D"0" border=3D"0">
|
||||
<tr>
|
||||
<td align=3D"left" style=3D"vertical-al=
|
||||
ign:top;"><table width=3D"100%" cellpadding=3D"0" cellspacing=3D"0" border=
|
||||
=3D"0">
|
||||
<tr>
|
||||
<td align=3D"left" style=3D"verti=
|
||||
cal-align:top; padding:5px 10px; font-family:Arial, Helvetica, sans-serif; =
|
||||
font-size:12px; font-weight:bold; color:#414042; background-color:#D7DBE0; =
|
||||
border-radius:20px; -moz-border-radius: 20px; -webkit-border-radius:20px; w=
|
||||
hite-space: nowrap;" class=3D"font14">Account Alert</td>
|
||||
</tr>
|
||||
</table></td>
|
||||
</tr>
|
||||
</table></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align=3D"left" style=3D"vertical-align:to=
|
||||
p; background-color: #ffffff;"><table width=3D"100%" cellpadding=3D"0" cell=
|
||||
spacing=3D"0" border=3D"0">
|
||||
<tr>
|
||||
<td align=3D"left" style=3D"vertical-al=
|
||||
ign:top; padding: 20px 30px 28px;" class=3D"moPad"><table width=3D"100%" ce=
|
||||
llpadding=3D"0" cellspacing=3D"0" border=3D"0">
|
||||
<tr>
|
||||
<td align=3D"left" style=3D"verti=
|
||||
cal-align:top; padding: 0px 20px 0px 0px;"><img src=3D"https://static.chase=
|
||||
cdn.com/content/services/rendition/image.small.png/unified-assets/digital-c=
|
||||
ards/chase-freedom/freedom-unlimited/41473417013.png" width=3D"57" height=
|
||||
=3D"auto" alt=3D"" border=3D"0" style=3D"display:block;"/></td>
|
||||
<td align=3D"left" style=3D"verti=
|
||||
cal-align:top; padding:0px 50px 0px 0px; font-family:Arial, Helvetica, sans=
|
||||
-serif; font-size:30px; font-weight: bold; color:#414042;" class=3D"zeroPad=
|
||||
">Your balance of $1,029.08 is over the level you set</td>
|
||||
</tr>
|
||||
</table></td>
|
||||
</tr>
|
||||
</table></td>
|
||||
</tr>
|
||||
</table></td>
|
||||
</tr>
|
||||
</table></td>
|
||||
<td align=3D"left" style=3D"vertical-align:bottom; paddin=
|
||||
g:0px 0px;width:12px; "><img src=3D"https://www.chase.com/content/dam/email=
|
||||
/images/blue-right.jpg " width=3D"12" height=3D"226" border=3D"0" style=3D"=
|
||||
display:block;" alt=3D""/></td>
|
||||
</tr>
|
||||
</table></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align=3D"center" style=3D"vertical-align:top; padding: 0px =
|
||||
0px 0px; background-color: #FFFFFF;"><table cellpadding=3D"0" cellspacing=
|
||||
=3D"0" border=3D"0">
|
||||
<tr>
|
||||
<td align=3D"right" style=3D"vertical-align:top; padding:=
|
||||
0px 0px; width:12px;"><img src=3D"https://www.chase.com/content/dam/email/i=
|
||||
mages/white-left.jpg" width=3D"12" height=3D"77" border=3D"0" style=3D"disp=
|
||||
lay:block;" alt=3D""/></td>
|
||||
<td align=3D"center" style=3D"vertical-align:top; padding=
|
||||
: 0px 0px 0px;width:616px;"><table width=3D"100%" cellpadding=3D"0" cellspa=
|
||||
cing=3D"0" border=3D"0">
|
||||
<tr>
|
||||
<td align=3D"left" style=3D"vertical-align:top; pad=
|
||||
ding: 0px 150px 0px 30px;" class=3D"moPad"><table width=3D"100%" cellpaddin=
|
||||
g=3D"0" cellspacing=3D"0" border=3D"0">
|
||||
<tr>
|
||||
<td align=3D"left" style=3D"vertical-align:to=
|
||||
p; padding: 10px 0px;border-bottom: solid 1px #414042;"><table width=3D"100=
|
||||
%" cellpadding=3D"0" cellspacing=3D"0" border=3D"0">
|
||||
<tr>
|
||||
<td align=3D"left" style=3D"vertical-al=
|
||||
ign:top; padding:0px 0px 0px 0px; font-family:Arial, Helvetica, sans-serif;=
|
||||
font-size:16px; color:#414042;" class=3D"font14">Account</td>
|
||||
<td align=3D"right" style=3D"vertical-a=
|
||||
lign:top; padding:0px 0px 0px 5px; font-family:Arial, Helvetica, sans-serif=
|
||||
; font-size:16px; font-weight:bold; color:#414042;" class=3D"font14">Chase =
|
||||
Freedom Unlimited (...5876)</td>
|
||||
</tr>
|
||||
</table></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align=3D"left" style=3D"vertical-align:to=
|
||||
p; padding: 10px 0px;border-bottom: solid 1px #414042;"><table width=3D"100=
|
||||
%" cellpadding=3D"0" cellspacing=3D"0" border=3D"0">
|
||||
<tr>
|
||||
<td align=3D"left" style=3D"vertical-al=
|
||||
ign:top; padding:0px 0px 0px 0px; font-family:Arial, Helvetica, sans-serif;=
|
||||
font-size:16px; color:#414042;" class=3D"font14">Balance</td>
|
||||
<td align=3D"right" style=3D"vertical-a=
|
||||
lign:top; padding:0px 0px 0px 5px; font-family:Arial, Helvetica, sans-serif=
|
||||
; font-size:16px; font-weight:bold; color:#414042;" class=3D"font14">$1,029=
|
||||
.08</td>
|
||||
</tr>
|
||||
</table></td>
|
||||
</tr>
|
||||
</table></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align=3D"left" style=3D"vertical-align:top; pad=
|
||||
ding:40px 180px 40px 30px; font-family:Arial, Helvetica, sans-serif; font-s=
|
||||
ize:16px; color:#414042;" class=3D"moPad">You are receiving this alert beca=
|
||||
use your balance has reached the $0.00 level you set.<br /> <br /> You can =
|
||||
visit our <a style=3D"text-decoration: underline; color:#0060F0;" href=3D"h=
|
||||
ttps://www.chase.com/personal/credit-cards/card-resource-center" rel=3D"noo=
|
||||
pener noreferrer" target=3D"_blank">Resource Center</a> anytime to help an=
|
||||
swer your questions or manage your account.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align=3D"left" style=3D"vertical-align:top;"><t=
|
||||
able width=3D"100%" align=3D"left" cellpadding=3D"0" cellspacing=3D"0" bord=
|
||||
er=3D"0">
|
||||
<tr>
|
||||
<td align=3D"left" style=3D"vertical-align:to=
|
||||
p;"><table width=3D"200" align=3D"left" cellpadding=3D"0" cellspacing=3D"0"=
|
||||
border=3D"0" class=3D"fullWidth">
|
||||
<tr>
|
||||
<td align=3D"left" style=3D"padding:0px=
|
||||
; vertical-align:top; padding: 0px 0px 30px 30px;" class=3D"moPad"><table a=
|
||||
lign=3D"left" cellpadding=3D"0" cellspacing=3D"0" border=3D"0" style=3D"ver=
|
||||
tical-align:top;">
|
||||
<tr>
|
||||
<td role=3D"button" align=3D"cent=
|
||||
er" style=3D"background-color:#0060f0; color: #fffffe; font-size: 16px; fon=
|
||||
t-family: Arial, Helvetica, sans-serif; padding: 10px 0px; border: 1px soli=
|
||||
d #0060f0; vertical-align:top; border-radius:4px; -moz-border-radius: 4px; =
|
||||
-webkit-border-radius:4px;width: 168px;"><a href=3D"https://secure.chase.co=
|
||||
m/web/auth/nav?navKey=3DrequestDashboard" target=3D"_blank" style=3D"color:=
|
||||
#fffffe; text-decoration:none;">Review account</a></td>
|
||||
</tr>
|
||||
</table></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align=3D"left" style=3D"vertical-align:top; pad=
|
||||
ding:0px 30px 20px; font-family:Arial, Helvetica, sans-serif; font-size:12p=
|
||||
x; color:#717171;" class=3D"moPad font14">Securely access your accounts wit=
|
||||
h the <a style=3D"text-decoration: underline; color:#0060F0;" href=3D"https=
|
||||
://www.chase.com/digital/mobile-banking" rel=3D"noopener noreferrer" targe=
|
||||
t=3D"_blank">Chase Mobile<span style=3D"font-size:70%; line-height:0; =
|
||||
vertical-align:3px; text-decoration: none;">®</span> app</a> or <a styl=
|
||||
e=3D"text-decoration: underline; color:#0060F0;" href=3D"https://secure.cha=
|
||||
se.com/web/auth/nav?navKey=3DrequestDashboard" rel=3D"noopener noreferrer" =
|
||||
target=3D"_blank">chase.com</a>. </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align=3D"left" style=3D"vertical-align:top; pad=
|
||||
ding: 0px 0px; background-color: #F6F6F6;"><table width=3D"100%" cellpaddin=
|
||||
g=3D"0" cellspacing=3D"0" border=3D"0">
|
||||
<tr>
|
||||
<td align=3D"left" style=3D"vertical-align:to=
|
||||
p; padding:20px 30px 60px; font-family:Arial, Helvetica, sans-serif; font-s=
|
||||
ize:12px; color:#717171;" class=3D"moPad font14"><span role=3D"heading" sty=
|
||||
le=3D"text-transform: uppercase; font-weight: bold;">About this message</sp=
|
||||
an><br />
|
||||
<br />
|
||||
Chase Mobile<span style=3D"font-size:7=
|
||||
0%; line-height:0; vertical-align:3px;">®</span> app is available for s=
|
||||
elect mobile devices. Message and data rates may apply.<br />
|
||||
<br />
|
||||
This service email was sent based on your a=
|
||||
lert settings. Use the Chase Mobile app or visit <a href=3D"https://ww=
|
||||
w.chase.com/personal/mobile-online-banking/login-alerts" target=3D"_blank" =
|
||||
style=3D"text-decoration: underline; color:#0060F0;" rel=3D"noopener norefe=
|
||||
rrer">chase.com/alerts</a> to view or manage your settings.<br />
|
||||
<br />
|
||||
Chase cannot guarantee the delivery of aler=
|
||||
ts and notifications. Wireless or internet service provider outages or othe=
|
||||
r circumstances could delay them. You can always check <span class=3D"apple=
|
||||
linksgray"><a style=3D"color:#717171;text-decoration: none;">chase.com</a><=
|
||||
/span> or the Chase Mobile app for the status of your accounts includi=
|
||||
ng your latest account balances and transaction details.<br />
|
||||
<br />
|
||||
To protect your personal information, pleas=
|
||||
e don't reply to this message. Chase won't ask for confidential information=
|
||||
in an email. <br />
|
||||
<br />
|
||||
If you have concerns about the authenticity=
|
||||
of this message or have questions about your account visit <a style=3D"tex=
|
||||
t-decoration: underline; color:#0060F0;" href=3D"https://www.chase.com/digi=
|
||||
tal/customer-service" target=3D"_blank" rel=3D"noopener noreferrer">chase.c=
|
||||
om/CustomerService</a> for ways to contact us.<br />
|
||||
<br />
|
||||
Your privacy is important to us. See our on=
|
||||
line <a style=3D"text-decoration: underline; color:#0060F0;" href=3D"https:=
|
||||
//www.chase.com/digital/resources/privacy-security" target=3D"_blank" rel=
|
||||
=3D"noopener noreferrer">Security Center</a> to learn how to protect your i=
|
||||
nformation.<br />
|
||||
<br />
|
||||
© 2025 JPMorgan Chase & Co. </td>
|
||||
</tr>
|
||||
</table></td>
|
||||
</tr>
|
||||
</table></td>
|
||||
<td align=3D"left" style=3D"vertical-align:top; padding:0=
|
||||
px 0px; width:12px;"><img src=3D"https://www.chase.com/content/dam/email/im=
|
||||
ages/white-right.jpg" width=3D"12" height=3D"77" border=3D"0" style=3D"disp=
|
||||
lay:block;" alt=3D""/></td>
|
||||
</tr>
|
||||
</table></td>
|
||||
</tr>
|
||||
<!--End of Content -->
|
||||
|
||||
</table></td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
Loading…
Reference in New Issue