从 Python 调用 Mailgun 会在电子邮件中创建一个不需要的损坏的 link 图形图标。有什么办法可以避免这种情况?

Calling Mailgun from Python creates an unwanted broken-link graphic icon in email. Any way to avoid this?

通过以下 python 代码通过 mailgun 发送电子邮件会导致收件人在 ms-outlook 中看到不需要的 "broken-link" 图标(在附图中以黄色突出显示)。如何避免这种情况?

代码如下:

            def send_integration_notification_staging(sync_date, email_arg):
            ## sync_date is passed in as "2017-09-27"
            ## a valid email adddress is passed in to email_arg

                rptfn = runPath+"/rpt/post_processing_summary_" + sync_date + ".rpt"
                with open(rptfn, 'r') as rptfile:
                    rptcontent=rptfile.read()

                dfn1="student_rec_err_" + sync_date + ".csv"
                dfn2="parent_rec_err_" + sync_date + ".csv"
                dfn3="staff_rec_err_" + sync_date + ".csv"

                return requests.post(
                        "https://api.mailgun.net/v3/mystaging.mydomain.com/messages",
                        auth=("api", "key-<blah blah..values deleted>"),
                        files=[("attachment",(dfn1, open(runPath+'/rpt/'+dfn1, "r"))),
                                ("attachment",(dfn2, open(runPath+'/rpt/'+dfn2, "r"))),
                                ("attachment",(dfn3, open(runPath+'/rpt/'+dfn3, "r")))],
                        data={"from": "Administrator <admin@mydomain.com>",
                                "to": [email_arg],
                                "subject": "Integration Notification - Post Processing:  " + sync_date, "html": rptcontent})

以及文件的示例内容post_processing_summary_20170927.rpt:

            <head>
            <style>
            table, th, td {
                border: 1px solid black;
                border-collapse: collapse;
            }
            </style>
            </head>
            <body>
            Post processing report for 20170927:
            <p><p>
            <table>
            <tr><th>SyncDate</th>   <th>Status</th> <th>NumRecords</th></tr>
            <tr><td>2017-09-27</td> <td>STUDENTS - INVALID INFO</td>        <td>291</td></tr>
            <tr><td>2017-09-27</td> <td>STUDENTS - JOINING CENTRE/CLASS</td>        <td>55033</td></tr>
            <tr><td>2017-09-27</td> <td>STUDENTS - LEAVING CENTRE/CLASS</td>        <td>235</td></tr>
            <tr><td>2017-09-27</td> <td>STUDENTS - PENDING PROCESSING</td>  <td>2</td></tr>
            <tr><td>2017-09-27</td> <td>STUDENTS - RECORD IN SYNC</td>      <td>8547</td></tr>
            <tr><td>2017-09-27</td> <td>PARENTS - AMENDED INFO</td> <td>12060</td></tr>
            <tr><td>2017-09-27</td> <td>PARENTS - INVALID INFO</td> <td>809</td></tr>
            <tr><td>2017-09-27</td> <td>PARENTS - NEWLY ADDED</td>  <td>55643</td></tr>
            <tr><td>2017-09-27</td> <td>PARENTS - RECORD IN SYNC</td>       <td>1387</td></tr>
            <tr><td>2017-09-27</td> <td>STAFF - INVALID INFO</td>   <td>373</td></tr>
            <tr><td>2017-09-27</td> <td>STAFF - JOINING CENTRE</td> <td>2604</td></tr>
            <tr><td>2017-09-27</td> <td>STAFF - RECORD IN SYNC</td> <td>1709</td></tr>
            </table>


            Please find attached the details of the various invalid Records

我强烈怀疑这是 Mailgun 的开放跟踪像素,您应该可以通过转到域的设置禁用它来确认这一点。

不幸的是,电子邮件客户端的呈现方式超出了 Mailgun 的控制范围,您可能需要确定打开跟踪对您的重要性。您还可以在 Please find attached the details of the various invalid Records 之后放置几个 <br>,这样看起来 就不会像 那样奇怪。