ฉันจำเป็นต้องติดตั้ง Outlook และกำหนดค่าให้ส่งอีเมลจาก asp.net โดยใช้ SMTP (System.Net.Mail) หรือไม่

ฉันได้สร้างเซิร์ฟเวอร์ windows 2008 R2 ใหม่ (พร้อม. NET 3.5) และเพิ่มสิ่งต่อไปนี้ด้วย IIS, SMTP, Visual Web Developer 2010 Express แต่ไม่มี MS Office หรือ Outlook

และฉันเริ่มเซิร์ฟเวอร์ SMTP โดยใช้การดูแลระบบ IIS 6.0 (ผ่านแผงควบคุม -> เครื่องมือผู้ดูแลระบบ -> IIS 6.0..)

และใช้โค้ดด้านล่าง...

using System.Net;
using System.Net.Mime;
using System.Net.Mail;

    public static void SendMail(string  From, string To, string Subject, string BodyText)
    {
        MailMessage mailMsg = new MailMessage();
        mailMsg.Subject = Subject;

        //from and To
        mailMsg.From = new MailAddress(From);
        mailMsg.To.Add(new MailAddress(To);

        //Body Text
        mailMsg.Body = BodyText.ToString();

        SmtpClient mSmtpClient = new SmtpClient();
        mSmtpClient.Send(mailMsg);

        // Clean up.
        mailMsg.Dispose();
    }

//รายการ Web.Config - 255.255.255.255 คือ IP ของเซิร์ฟเวอร์

<system.net>
    <mailSettings>
        <smtp from="[email protected]">
            <network host="255.255.255.255" port="25" userName="" password=""/>
        </smtp>
    </mailSettings>
</system.net>

เมื่อฉันใช้วิธีการข้างต้นในการส่งอีเมล มันแสดงข้อผิดพลาด "Failure Sending Mail Error" แต่ไม่ได้ให้รายละเอียด

ตามที่หลายๆ คนแนะนำ ฉันได้เพิ่มที่อยู่ IP ไปยังเซิร์ฟเวอร์ SMTP (ภายใต้คุณสมบัติ -> แท็บทั่วไป) ยังคงแสดงข้อความเดียวกัน ฉันสงสัยว่าจำเป็นต้องใช้ Outlook ในการส่งอีเมลจาก asp.net

โปรดแนะนำสิ่งอื่นที่ฉันสามารถตรวจสอบเพื่อค้นหาปัญหาจริงและทำให้มันใช้งานได้


person MSBI-Geek    schedule 21.02.2014    source แหล่งที่มา
comment
ไม่ คลาส Net Mail ไม่ได้ขึ้นอยู่กับ Outlook   -  person Steve    schedule 21.02.2014
comment
เหตุใดคุณจึงใช้ 255.255.255.255 เป็นที่อยู่ IP!   -  person Lloyd    schedule 21.02.2014
comment
แสดงข้อผิดพลาด Failure Sending Mail Error - ซึ่งเรียกว่าข้อยกเว้น จับมันและตรวจสอบมัน เป็นไปได้มากว่าจะมี InnerException บอกคุณถึงสาเหตุของปัญหา @Lloyd เขามักจะต้องการทำให้ IP จริงสับสน   -  person CodeCaster    schedule 21.02.2014
comment
พลาดส่วน GMail ซ้ำกันของ วิธีส่งอีเมลไปยัง gmail โดยใช้ SMTPclient ใน C # ?   -  person CodeCaster    schedule 21.02.2014
comment
IP ที่แท้จริงนั้นแตกต่างออกไป ฉันจะลองดูข้อยกเว้นภายใน   -  person MSBI-Geek    schedule 21.02.2014


คำตอบ (1)


ดูเหมือนว่าคุณกำลังใช้การตั้งค่าที่ไม่ถูกต้อง ลองตั้งค่าเหล่านี้ด้วยข้อมูลที่ถูกต้อง ชื่อผู้ใช้ รหัสผ่าน โฮสต์ ฯลฯ

smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.Credentials = new NetworkCredential("username", "password");
smtp.Host = "setting";

หวังว่านี่จะช่วยได้

person Inept Adept    schedule 21.02.2014