Operating System – Lecture 3

March 15, 2013

You can now enroll into lms.ums, the enrollment key is ops123.

Download slide for lecture 3.

Operating System – Lecture 2

March 8, 2013

Download slides for lecture chapter 2.

Operating System – Lecture 1

March 1, 2013

Slides forĀ lecture chapter 1.

Delphi to send email using Gmail SMTP server

April 9, 2010

You can send email by utilizing Gmail smtp server. In Delphi, you can use Indy Component. The instructions here are based on Delphi 6 and OpenSSL library with Indy 10.

Do these steps:

1. Download Indy 10 from http://www.indyproject.org/. Then extract the zip file.
2. Download OpenSSL (version 1 or later) from http://www.indyproject.org/. Then extract the zip file.
3. Open and compile .dpk files in the following order:
a) IndySystemX0.dpk (in Lib\System)
b) IndyCoreX0.dpk (in Lib\Core)
c) IndyProtocolsX0.dpk (in Lib\Protocols)
4. Now open these .dpk files and click install in the following order:
a) dclIndyCoreX0.dpk (in Lib\Core)
b) dclIndyProtocolsX0.dpk (in Lib\Protocols)
5. In your Indy directory you should now see some compiled .dcu files. Open your Delphi IDE and goto the menu Tools>Environment options> Select Library tab. Now add the path to your .dcu files into the filepath collection. Click Ok.
6. Copy the two DLL files extracted in step 2 to your application directory.
7. Finally, here is the code of a demo program, with the DFM file and the actual Delphi code (modify it to suit yours):

object IdSMTP1: TIdSMTP
OnStatus = IdSMTP1Status
IOHandler = IdSSLIOHandlerSocketOpenSSL1
Host = 'smtp.gmail.com'
Password = '***'
Port = 587
SASLMechanisms = <>
UseTLS = utUseExplicitTLS
Username = '****'
object IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL
Destination = 'smtp.gmail.com:587'
Host = 'smtp.gmail.com'
MaxLineAction = maException
Port = 587
SSLOptions.Method = sslvTLSv1
SSLOptions.Mode = sslmUnassigned
SSLOptions.VerifyMode = []
SSLOptions.VerifyDepth = 0
OnStatusInfo = IdSSLIOHandlerSocketOpenSSL1StatusInfo

8. Done. It works great for me!