名前 題名 ▼ Syakeさん > ▼ Mr.XRAYさん,Takeさん > > 思い出したように・・・ > 結局、Indyは諦めました。(根性無しです) > Synapseでメール送信に変更です。 > > type TMyMailData = record > FHost :String; //メール送信サーバー > FSubject :String; //件名 > FMailTo :String; //送信先のメールアドレス > FFrom :String; //送信者の名前 > FUseID :String; //ユーザーID > FPass :String; //ユーザーパスワード > FBody :String; //本文 > FUseAddress :String; //送信者メールアドレス > end; > > //別に設定 > FMailData :TMyMailData; > > //===================================================================// > // ライブラリーSynapseによるメール送信 > // Synapseライブラリー > // http://www.ararat.cz/synapse/index.htm Synasnap.zip > // 任意のフォルダーに解凍してDelphiのライブラリーに追加 > // Uses に SMTPSend, MimeMess, SynaChar, ssl_openssl > // もっとも、最後のはSSL/TLSを使わなかったらいらんか > // OpenSSL(0.9.7)・・・SSL/TLS機能を使用する場合に必要 > // デフォルトのままインストールしてねとの事 > // http://www.slproweb.com/products/Win32OpenSSL.html > // iconv.dll Jis変換をSynapseが行うのに必要だそうです。 > // 実行ファイルと同じディレクトリーへ > // http://www.ararat.cz/synapse/files/contrib/ > //===================================================================// > function Txxxx.XXXXX():Integer; > var > SL : TStringList; > hdAttach : string; > Mime : TMimeMess; > SMTP : TSmtpSend; > bRet :Integer;//エラー取得用 > begin > bRet := -1; > SL := TStringList.Create; > Mime := TMimeMess.Create; > SMTP := TSmtpSend.Create; > try > //SSL/TLS機能 を実現する為には、モード(FullSSL OR AutoTLS) > //の設定と何やらポートの設定がいるようですが・・・今回は > //SMTP.FullSSL := True; // Explicit モードの場合 > //SMTP.AutoTLS := True; // implicit モードの場合 > //SMTP.TargetPort := ''; //SSL機能:Synapseでは文字列で指定する > SMTP.UserName := FMailData.FUseID; //ユーザーID > SMTP.Password := FMailData.FPass; //ユーザーパスワード > SMTP.TargetHost := FMailData.FHost; //メール送信サーバー > //SMTP LOGIN します。 > if SMTP.Login then > begin > bRet := 0; > SL.Add(FMailData.FBody); //本文 > Mime.Header.CharsetCode := ISO_2022_JP; > // 送信者名<送信ルアドレス>形式で記述 > Mime.Header.From := FMailData.FFrom + '<' + FMailData.FUseAddress + '>'; > Mime.Header.ReplyTo := FMailData.FUseAddress; > Mime.Header.ToList.Add(FMailData.FMailTo); > //Mime.Header.CCList.Add(edtCC.Text); > Mime.Header.Subject := FMailData.FSubject; //JIS変換しない > Mime.AddPartMultipart('', Nil); > Mime.AddPartText(SL,Mime.MessagePart); > //添付ファイルが必要な場合に > //hdAttach := edtAttach.Text; > //if hdAttach <> '' then > // Mime.AddPartBinaryFromFile(hdAttach, Mime.MessagePart); > > // MIMEエンコード > Mime.EncodeMessage; > > //SMTP.送信 > if not SMTP.MailFrom(FMailData.FUseAddress, Length(Mime.Lines.Text)) then > begin > bRet := -2; > end; > if bRet = 0 then > begin > if not SMTP.MailTo(FMailData.FMailTo) then > begin > bRet := -3; > end; > end; > //BCCが必要な場合はこんな感じらしいです・・・(今回はいらん) > {if bRet = 0 then > begin > if not not SMTP.MailTo(edtBCC.Text) then > begin > bRet := -4; > end; > end;} > if bRet = 0 then > begin > if not SMTP.MailData(Mime.Lines) then > begin > bRet := -5; //メールデータを送信できなかった。 > end; > end; > end else begin > bRet := -1; //ログオンできなかったよ > end; > finally > if bRet = 0 then > begin > SMTP.Logout; > end; > SL.Free; > Mime.Free; > SMTP.Free; > end; > end; > > まあ、何とか送信できたわけですが、SSL/TLS何!?って感じです。 > 詳しくは > http://codezine.jp/a/default.aspx?cid=313 > をどうぞ。(但し、ユーザー登録必要) GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link