1

CI は MVC.ActionMailer を使用して、私の Web サイトから電子メールを送信しています。メールにインライン画像を埋め込む際に問題が発生しています。

これが私のコントローラーアクションです

public EmailResult WelcomeEmail()
    {
        WelcomeMailVM welcomeDetails = new WelcomeMailVM()
        var path = HttpContext.Current.Server.MapPath("~/Content/images/myImage.png");
        Attachments.Add("myImage.png", System.IO.File.ReadAllBytes(path));
        //Attachments.Inline["holidaymate.png"] = System.IO.File.ReadAllBytes(path);
        To.Add("someEmail@test.com");
        From = "noreply@myDomain.com";
        Subject = "Welcome to My Site;
        return Email("WelcomeEmail", welcomeDetails);
    }

および電子メールのビュー

@model HolidayMate.API.ViewModels.Mail.WelcomeMailVM
@using ActionMailer.Net.Mvc

@{
     Layout = "~/Views/Shared/_MailLayout.cshtml";
 }
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

 <table cellpadding="0" cellspacing="0" border="0" id="backgroundTable">
 <tr>
    <td style="width:300px">
        @Html.InlineImage("myImage.png")
    </td>
    <td style="width:300px">
        <table cellpadding="0" cellspacing="0" border="0">
            <tr>
                <td>Date</td>
                <td>@DateTime.Now.ToString("dd MMMM yyyy")
                </td>
            </tr>
        </table>
    </td>
</tr>
</table>

メールは完璧に送信されます。しかし、画像はメールに表示されません。gmail と Thunderbird でこの問題が発生します。残念ながら、テストする見通しがありません。ググったら以下を見つけた

#38 Thunderbird でインライン画像が表示されない

しかし、メールのコンテンツ タイプをどこに送信すればよいかわかりません。どんな助けでも大歓迎です。

4

1 に答える 1

0

ActionMailer の代わりに MVC Mailer を使用しました。これで、画像は正常に機能します。

しかし、次のSMTP設定を使用しないとメールを送信できません。通常の設定は機能しません

<mailSettings >
  <smtp deliveryMethod="Network" from="noreply@holidaymate.co.za">
    <network enableSsl="true" host="mail.mySMTP.com" port="25"  defaultCredentials="true" />
  </smtp>
</mailSettings>

動作しませんが、次を使用すると動作します

<mailSettings >
  <smtp deliveryMethod="Network" from="noreply@myDomain.co.za">
      network enableSsl="true" host="smtp.gmail.com" port="587" userName="someemail@gmail.com" password="mypassword"/>
  </smtp>
</mailSettings>
于 2012-05-27T10:24:11.640 に答える