38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
# File 'lib/actionmailer-ironruby.rb', line 38
def perform_delivery(mail)
message = MailMessage.new
message.From = MailAddress.new(mail.sender_addr.spec, mail.sender_addr.name)
message.ReplyTo = MailAddress.new(mail.reply_to_addrs.spec, mail.reply_to_addrs.name)
mail.to_addrs.each do |address|
recipient = MailAddress.new(address.spec, address.name)
message.To.Add(recipient)
end
mail.cc_addrs.each do |address|
recipient = MailAddress.new(address.spec, address.name)
message.CC.Add(recipient)
end
mail.bcc_addrs.each do |address|
recipient = MailAddress.new(address.spec, address.name)
message.Bcc.Add(recipient)
end
message.subject = mail.subject
unless mail.multipart?
message.Body = mail.body
else
message.parts.each do |part|
content_type = part.content_type
content = part.body
view = AlternateView.CreateAlternateViewFromString(content, content_type)
message.AlternateViews.Add(view)
end
end
smtp = SmtpClient.new(settings[:address], settings[:port])
smtp.Credentials = NetworkCredential.new(settings[:user_name], settings[:password]) if settings[:user_name] && settings[:password]
smtp.Send(message)
end
|