QA@IT
«回答へ戻る

\r\nについて追記

5639
 I think, too many line breaks are appended to headers.
 
 とかかなぁ。
+(\r\nは特に書かなくていいと思います。期待値を示せばわかってもらえそうな気がする)

ソースは全然みていませんが、SMTPの仕様としてヘッダの後、ボディの前には空行がなければならかったと思います。

82行目の$this->config['newline'] はそのためのものでしょう。
一方952行目のnewlineはヘッダの文字列が改行で終わってない場合のためのものと思います。

例としては

(略、その他ヘッダ)
subject: title \r\n ← 952行目のnewline
\r\n ← 82行目のnewline
messagebody
(略)
\r\n.\r\n

(これは件名がヘッダの最後にあるという仮定の元にあります。SMTPの仕様上それは決められていませんのでただの仮定です。)
こういう想定だったとしてどちらかのnewlineを無条件に消すと問題になりますので、
そもそもヘッダの最後に何が来ているのかを見ないといけないでしょうね。

たとえば、上の例のように最後に件名が来ている場合設定している件名の最後に改行文字が含まれていないか、件名を空で送るとどうなるかなどもチェックされた方が良いでしょう。
件名ではなくても自分で設定している項目であれば同様です。

昔からそうならissueになにかしら上がりそうな気もするのでパラメータの設定ミスまたは最近の修正でおきたのかもしれませんね。調べてみて向こうの問題の様であればissueにあげてみるのもいいかもしれません。

追記しました

軽く見てみましたが直すとすれば

https://github.com/fuel/email/blob/1.6/master/classes/email/driver.php#L952

952行目

$headers .= $newline;

を $headersが改行文字で終わってない場合に変更するのがよさそうですね。

944行目から828行目(get_header)に飛んだ場合も改行は付加されるようですし、
948行目でも改行文字は追加されるようです。

ただし、foreach文にかからずヘッダがなにも追加されなかった場合にはブランクのままなので改行を追加する必要があります。
(emailの場合はないはずですが)

というわけで直すなら952行を条件付きの改行追加にするのが良いのではないでしょうか。

余談です。Issueについては無理にとは言いませんが、

Hi
FuelPHPを使ってメールを送信した。
受信したメールの本文が改行で始まっている。
driverの952行目かsmtpの82行目あたりが原因だと私は思う。
Thank you.

ぐらいでわかってもらえると思います。
必要があればコードと、受信したメールヘッダ(隠したいところはxxxxとかにかえつつ)を示せば良いと思います。

私も英語全然できませんが大体わかってもらえます(向こうもわかろうとしてくれます)。
sorry for my poor englishはあんまり言いすぎるとくどいようですのでほどほどに。

追記

本物のメールヘッダがあるとより良いのです

I expected to recieve following.

(headers)
subject: title \r\n
\r\n
messagebody
\r\n.\r\n

but I recieved like that.

(headers)
subject: title \r\n
\r\n
\r\n
messagebody
\r\n.\r\n

I think, too many line breaks are appended to headers.

とかかなぁ。
(\r\nは特に書かなくていいと思います。期待値を示せばわかってもらえそうな気がする)

ソースは全然みていませんが、SMTPの仕様としてヘッダの後、ボディの前には空行がなければならかったと思います。

82行目の$this->config['newline'] はそのためのものでしょう。
一方952行目のnewlineはヘッダの文字列が改行で終わってない場合のためのものと思います。

例としては
```
(略、その他ヘッダ)
subject: title \r\n ← 952行目のnewline
\r\n ← 82行目のnewline
messagebody
(略)
\r\n.\r\n
```
(これは件名がヘッダの最後にあるという仮定の元にあります。SMTPの仕様上それは決められていませんのでただの仮定です。)
こういう想定だったとしてどちらかのnewlineを無条件に消すと問題になりますので、
そもそもヘッダの最後に何が来ているのかを見ないといけないでしょうね。

たとえば、上の例のように最後に件名が来ている場合設定している件名の最後に改行文字が含まれていないか、件名を空で送るとどうなるかなどもチェックされた方が良いでしょう。
件名ではなくても自分で設定している項目であれば同様です。

昔からそうならissueになにかしら上がりそうな気もするのでパラメータの設定ミスまたは最近の修正でおきたのかもしれませんね。調べてみて向こうの問題の様であればissueにあげてみるのもいいかもしれません。


## 追記しました

軽く見てみましたが直すとすれば

https://github.com/fuel/email/blob/1.6/master/classes/email/driver.php#L952

952行目
```
$headers .= $newline;
```

を $headersが改行文字で終わってない場合に変更するのがよさそうですね。

944行目から828行目(get_header)に飛んだ場合も改行は付加されるようですし、
948行目でも改行文字は追加されるようです。

ただし、foreach文にかからずヘッダがなにも追加されなかった場合にはブランクのままなので改行を追加する必要があります。
(emailの場合はないはずですが)

というわけで直すなら952行を条件付きの改行追加にするのが良いのではないでしょうか。


余談です。Issueについては無理にとは言いませんが、

Hi
FuelPHPを使ってメールを送信した。
受信したメールの本文が改行で始まっている。
driverの952行目かsmtpの82行目あたりが原因だと私は思う。
Thank you.

ぐらいでわかってもらえると思います。
必要があればコードと、受信したメールヘッダ(隠したいところはxxxxとかにかえつつ)を示せば良いと思います。

私も英語全然できませんが大体わかってもらえます(向こうもわかろうとしてくれます)。
sorry for my poor englishはあんまり言いすぎるとくどいようですのでほどほどに。

### 追記
本物のメールヘッダがあるとより良いのです

I expected to recieve following.
```
(headers)
subject: title \r\n
\r\n
messagebody
\r\n.\r\n
```

but I recieved like that.
```
(headers)
subject: title \r\n
\r\n
\r\n
messagebody
\r\n.\r\n
```

I think, too many line breaks are appended to headers.

とかかなぁ。
(\r\nは特に書かなくていいと思います。期待値を示せばわかってもらえそうな気がする)

追記しました。

5639
 
 私も英語全然できませんが大体わかってもらえます(向こうもわかろうとしてくれます)。
 sorry for my poor englishはあんまり言いすぎるとくどいようですのでほどほどに。
+
+### 追記
+本物のメールヘッダがあるとより良いのです
+
+I expected to recieve following.
+```
+(headers)
+subject: title \r\n
+\r\n
+messagebody
+\r\n.\r\n
+```
+
+but I recieved like that.
+```
+(headers)
+subject: title \r\n
+\r\n
+\r\n
+messagebody
+\r\n.\r\n
+```
+
+I think, too many line breaks are appended to headers.
+
+とかかなぁ。

ソースは全然みていませんが、SMTPの仕様としてヘッダの後、ボディの前には空行がなければならかったと思います。

82行目の$this->config['newline'] はそのためのものでしょう。
一方952行目のnewlineはヘッダの文字列が改行で終わってない場合のためのものと思います。

例としては

(略、その他ヘッダ)
subject: title \r\n ← 952行目のnewline
\r\n ← 82行目のnewline
messagebody
(略)
\r\n.\r\n

(これは件名がヘッダの最後にあるという仮定の元にあります。SMTPの仕様上それは決められていませんのでただの仮定です。)
こういう想定だったとしてどちらかのnewlineを無条件に消すと問題になりますので、
そもそもヘッダの最後に何が来ているのかを見ないといけないでしょうね。

たとえば、上の例のように最後に件名が来ている場合設定している件名の最後に改行文字が含まれていないか、件名を空で送るとどうなるかなどもチェックされた方が良いでしょう。
件名ではなくても自分で設定している項目であれば同様です。

昔からそうならissueになにかしら上がりそうな気もするのでパラメータの設定ミスまたは最近の修正でおきたのかもしれませんね。調べてみて向こうの問題の様であればissueにあげてみるのもいいかもしれません。

追記しました

軽く見てみましたが直すとすれば

https://github.com/fuel/email/blob/1.6/master/classes/email/driver.php#L952

952行目

$headers .= $newline;

を $headersが改行文字で終わってない場合に変更するのがよさそうですね。

944行目から828行目(get_header)に飛んだ場合も改行は付加されるようですし、
948行目でも改行文字は追加されるようです。

ただし、foreach文にかからずヘッダがなにも追加されなかった場合にはブランクのままなので改行を追加する必要があります。
(emailの場合はないはずですが)

というわけで直すなら952行を条件付きの改行追加にするのが良いのではないでしょうか。

余談です。Issueについては無理にとは言いませんが、

Hi
FuelPHPを使ってメールを送信した。
受信したメールの本文が改行で始まっている。
driverの952行目かsmtpの82行目あたりが原因だと私は思う。
Thank you.

ぐらいでわかってもらえると思います。
必要があればコードと、受信したメールヘッダ(隠したいところはxxxxとかにかえつつ)を示せば良いと思います。

私も英語全然できませんが大体わかってもらえます(向こうもわかろうとしてくれます)。
sorry for my poor englishはあんまり言いすぎるとくどいようですのでほどほどに。

追記

本物のメールヘッダがあるとより良いのです

I expected to recieve following.

(headers)
subject: title \r\n
\r\n
messagebody
\r\n.\r\n

but I recieved like that.

(headers)
subject: title \r\n
\r\n
\r\n
messagebody
\r\n.\r\n

I think, too many line breaks are appended to headers.

とかかなぁ。

ソースは全然みていませんが、SMTPの仕様としてヘッダの後、ボディの前には空行がなければならかったと思います。

82行目の$this->config['newline'] はそのためのものでしょう。
一方952行目のnewlineはヘッダの文字列が改行で終わってない場合のためのものと思います。

例としては
```
(略、その他ヘッダ)
subject: title \r\n ← 952行目のnewline
\r\n ← 82行目のnewline
messagebody
(略)
\r\n.\r\n
```
(これは件名がヘッダの最後にあるという仮定の元にあります。SMTPの仕様上それは決められていませんのでただの仮定です。)
こういう想定だったとしてどちらかのnewlineを無条件に消すと問題になりますので、
そもそもヘッダの最後に何が来ているのかを見ないといけないでしょうね。

たとえば、上の例のように最後に件名が来ている場合設定している件名の最後に改行文字が含まれていないか、件名を空で送るとどうなるかなどもチェックされた方が良いでしょう。
件名ではなくても自分で設定している項目であれば同様です。

昔からそうならissueになにかしら上がりそうな気もするのでパラメータの設定ミスまたは最近の修正でおきたのかもしれませんね。調べてみて向こうの問題の様であればissueにあげてみるのもいいかもしれません。


## 追記しました

軽く見てみましたが直すとすれば

https://github.com/fuel/email/blob/1.6/master/classes/email/driver.php#L952

952行目
```
$headers .= $newline;
```

を $headersが改行文字で終わってない場合に変更するのがよさそうですね。

944行目から828行目(get_header)に飛んだ場合も改行は付加されるようですし、
948行目でも改行文字は追加されるようです。

ただし、foreach文にかからずヘッダがなにも追加されなかった場合にはブランクのままなので改行を追加する必要があります。
(emailの場合はないはずですが)

というわけで直すなら952行を条件付きの改行追加にするのが良いのではないでしょうか。


余談です。Issueについては無理にとは言いませんが、

Hi
FuelPHPを使ってメールを送信した。
受信したメールの本文が改行で始まっている。
driverの952行目かsmtpの82行目あたりが原因だと私は思う。
Thank you.

ぐらいでわかってもらえると思います。
必要があればコードと、受信したメールヘッダ(隠したいところはxxxxとかにかえつつ)を示せば良いと思います。

私も英語全然できませんが大体わかってもらえます(向こうもわかろうとしてくれます)。
sorry for my poor englishはあんまり言いすぎるとくどいようですのでほどほどに。

### 追記
本物のメールヘッダがあるとより良いのです

I expected to recieve following.
```
(headers)
subject: title \r\n
\r\n
messagebody
\r\n.\r\n
```

but I recieved like that.
```
(headers)
subject: title \r\n
\r\n
\r\n
messagebody
\r\n.\r\n
```

I think, too many line breaks are appended to headers.

とかかなぁ。

Typo修正

5639
 
 を $headersが改行文字で終わってない場合に変更するのがよさそうですね。
 
-944行目から828行目(get_header)に飛んだ場合も改行は負荷されるようですし、
+944行目から828行目(get_header)に飛んだ場合も改行は付加されるようですし、
 948行目でも改行文字は追加されるようです。
 
 ただし、foreach文にかからずヘッダがなにも追加されなかった場合にはブランクのままなので改行を追加する必要があります。

ソースは全然みていませんが、SMTPの仕様としてヘッダの後、ボディの前には空行がなければならかったと思います。

82行目の$this->config['newline'] はそのためのものでしょう。
一方952行目のnewlineはヘッダの文字列が改行で終わってない場合のためのものと思います。

例としては

(略、その他ヘッダ)
subject: title \r\n ← 952行目のnewline
\r\n ← 82行目のnewline
messagebody
(略)
\r\n.\r\n

(これは件名がヘッダの最後にあるという仮定の元にあります。SMTPの仕様上それは決められていませんのでただの仮定です。)
こういう想定だったとしてどちらかのnewlineを無条件に消すと問題になりますので、
そもそもヘッダの最後に何が来ているのかを見ないといけないでしょうね。

たとえば、上の例のように最後に件名が来ている場合設定している件名の最後に改行文字が含まれていないか、件名を空で送るとどうなるかなどもチェックされた方が良いでしょう。
件名ではなくても自分で設定している項目であれば同様です。

昔からそうならissueになにかしら上がりそうな気もするのでパラメータの設定ミスまたは最近の修正でおきたのかもしれませんね。調べてみて向こうの問題の様であればissueにあげてみるのもいいかもしれません。

追記しました

軽く見てみましたが直すとすれば

https://github.com/fuel/email/blob/1.6/master/classes/email/driver.php#L952

952行目

$headers .= $newline;

を $headersが改行文字で終わってない場合に変更するのがよさそうですね。

944行目から828行目(get_header)に飛んだ場合も改行は付加されるようですし、
948行目でも改行文字は追加されるようです。

ただし、foreach文にかからずヘッダがなにも追加されなかった場合にはブランクのままなので改行を追加する必要があります。
(emailの場合はないはずですが)

というわけで直すなら952行を条件付きの改行追加にするのが良いのではないでしょうか。

余談です。Issueについては無理にとは言いませんが、

Hi
FuelPHPを使ってメールを送信した。
受信したメールの本文が改行で始まっている。
driverの952行目かsmtpの82行目あたりが原因だと私は思う。
Thank you.

ぐらいでわかってもらえると思います。
必要があればコードと、受信したメールヘッダ(隠したいところはxxxxとかにかえつつ)を示せば良いと思います。

私も英語全然できませんが大体わかってもらえます(向こうもわかろうとしてくれます)。
sorry for my poor englishはあんまり言いすぎるとくどいようですのでほどほどに。

ソースは全然みていませんが、SMTPの仕様としてヘッダの後、ボディの前には空行がなければならかったと思います。

82行目の$this->config['newline'] はそのためのものでしょう。
一方952行目のnewlineはヘッダの文字列が改行で終わってない場合のためのものと思います。

例としては
```
(略、その他ヘッダ)
subject: title \r\n ← 952行目のnewline
\r\n ← 82行目のnewline
messagebody
(略)
\r\n.\r\n
```
(これは件名がヘッダの最後にあるという仮定の元にあります。SMTPの仕様上それは決められていませんのでただの仮定です。)
こういう想定だったとしてどちらかのnewlineを無条件に消すと問題になりますので、
そもそもヘッダの最後に何が来ているのかを見ないといけないでしょうね。

たとえば、上の例のように最後に件名が来ている場合設定している件名の最後に改行文字が含まれていないか、件名を空で送るとどうなるかなどもチェックされた方が良いでしょう。
件名ではなくても自分で設定している項目であれば同様です。

昔からそうならissueになにかしら上がりそうな気もするのでパラメータの設定ミスまたは最近の修正でおきたのかもしれませんね。調べてみて向こうの問題の様であればissueにあげてみるのもいいかもしれません。


## 追記しました

軽く見てみましたが直すとすれば

https://github.com/fuel/email/blob/1.6/master/classes/email/driver.php#L952

952行目
```
$headers .= $newline;
```

を $headersが改行文字で終わってない場合に変更するのがよさそうですね。

944行目から828行目(get_header)に飛んだ場合も改行は付加されるようですし、
948行目でも改行文字は追加されるようです。

ただし、foreach文にかからずヘッダがなにも追加されなかった場合にはブランクのままなので改行を追加する必要があります。
(emailの場合はないはずですが)

というわけで直すなら952行を条件付きの改行追加にするのが良いのではないでしょうか。


余談です。Issueについては無理にとは言いませんが、

Hi
FuelPHPを使ってメールを送信した。
受信したメールの本文が改行で始まっている。
driverの952行目かsmtpの82行目あたりが原因だと私は思う。
Thank you.

ぐらいでわかってもらえると思います。
必要があればコードと、受信したメールヘッダ(隠したいところはxxxxとかにかえつつ)を示せば良いと思います。

私も英語全然できませんが大体わかってもらえます(向こうもわかろうとしてくれます)。
sorry for my poor englishはあんまり言いすぎるとくどいようですのでほどほどに。

追記しました。

5639
 件名ではなくても自分で設定している項目であれば同様です。
 
 昔からそうならissueになにかしら上がりそうな気もするのでパラメータの設定ミスまたは最近の修正でおきたのかもしれませんね。調べてみて向こうの問題の様であればissueにあげてみるのもいいかもしれません。
+
+
+## 追記しました
+
+軽く見てみましたが直すとすれば
+
+https://github.com/fuel/email/blob/1.6/master/classes/email/driver.php#L952
+
+952行目
+```
+$headers .= $newline;
+```
+
+を $headersが改行文字で終わってない場合に変更するのがよさそうですね。
+
+944行目から828行目(get_header)に飛んだ場合も改行は負荷されるようですし、
+948行目でも改行文字は追加されるようです。
+
+ただし、foreach文にかからずヘッダがなにも追加されなかった場合にはブランクのままなので改行を追加する必要があります。
+(emailの場合はないはずですが)
+
+というわけで直すなら952行を条件付きの改行追加にするのが良いのではないでしょうか。
+
+
+余談です。Issueについては無理にとは言いませんが、
+
+Hi
+FuelPHPを使ってメールを送信した。
+受信したメールの本文が改行で始まっている。
+driverの952行目かsmtpの82行目あたりが原因だと私は思う。
+Thank you.
+
+ぐらいでわかってもらえると思います。
+必要があればコードと、受信したメールヘッダ(隠したいところはxxxxとかにかえつつ)を示せば良いと思います。
+
+私も英語全然できませんが大体わかってもらえます(向こうもわかろうとしてくれます)。
+sorry for my poor englishはあんまり言いすぎるとくどいようですのでほどほどに。

ソースは全然みていませんが、SMTPの仕様としてヘッダの後、ボディの前には空行がなければならかったと思います。

82行目の$this->config['newline'] はそのためのものでしょう。
一方952行目のnewlineはヘッダの文字列が改行で終わってない場合のためのものと思います。

例としては

(略、その他ヘッダ)
subject: title \r\n ← 952行目のnewline
\r\n ← 82行目のnewline
messagebody
(略)
\r\n.\r\n

(これは件名がヘッダの最後にあるという仮定の元にあります。SMTPの仕様上それは決められていませんのでただの仮定です。)
こういう想定だったとしてどちらかのnewlineを無条件に消すと問題になりますので、
そもそもヘッダの最後に何が来ているのかを見ないといけないでしょうね。

たとえば、上の例のように最後に件名が来ている場合設定している件名の最後に改行文字が含まれていないか、件名を空で送るとどうなるかなどもチェックされた方が良いでしょう。
件名ではなくても自分で設定している項目であれば同様です。

昔からそうならissueになにかしら上がりそうな気もするのでパラメータの設定ミスまたは最近の修正でおきたのかもしれませんね。調べてみて向こうの問題の様であればissueにあげてみるのもいいかもしれません。

追記しました

軽く見てみましたが直すとすれば

https://github.com/fuel/email/blob/1.6/master/classes/email/driver.php#L952

952行目

$headers .= $newline;

を $headersが改行文字で終わってない場合に変更するのがよさそうですね。

944行目から828行目(get_header)に飛んだ場合も改行は負荷されるようですし、
948行目でも改行文字は追加されるようです。

ただし、foreach文にかからずヘッダがなにも追加されなかった場合にはブランクのままなので改行を追加する必要があります。
(emailの場合はないはずですが)

というわけで直すなら952行を条件付きの改行追加にするのが良いのではないでしょうか。

余談です。Issueについては無理にとは言いませんが、

Hi
FuelPHPを使ってメールを送信した。
受信したメールの本文が改行で始まっている。
driverの952行目かsmtpの82行目あたりが原因だと私は思う。
Thank you.

ぐらいでわかってもらえると思います。
必要があればコードと、受信したメールヘッダ(隠したいところはxxxxとかにかえつつ)を示せば良いと思います。

私も英語全然できませんが大体わかってもらえます(向こうもわかろうとしてくれます)。
sorry for my poor englishはあんまり言いすぎるとくどいようですのでほどほどに。

ソースは全然みていませんが、SMTPの仕様としてヘッダの後、ボディの前には空行がなければならかったと思います。

82行目の$this->config['newline'] はそのためのものでしょう。
一方952行目のnewlineはヘッダの文字列が改行で終わってない場合のためのものと思います。

例としては
```
(略、その他ヘッダ)
subject: title \r\n ← 952行目のnewline
\r\n ← 82行目のnewline
messagebody
(略)
\r\n.\r\n
```
(これは件名がヘッダの最後にあるという仮定の元にあります。SMTPの仕様上それは決められていませんのでただの仮定です。)
こういう想定だったとしてどちらかのnewlineを無条件に消すと問題になりますので、
そもそもヘッダの最後に何が来ているのかを見ないといけないでしょうね。

たとえば、上の例のように最後に件名が来ている場合設定している件名の最後に改行文字が含まれていないか、件名を空で送るとどうなるかなどもチェックされた方が良いでしょう。
件名ではなくても自分で設定している項目であれば同様です。

昔からそうならissueになにかしら上がりそうな気もするのでパラメータの設定ミスまたは最近の修正でおきたのかもしれませんね。調べてみて向こうの問題の様であればissueにあげてみるのもいいかもしれません。


## 追記しました

軽く見てみましたが直すとすれば

https://github.com/fuel/email/blob/1.6/master/classes/email/driver.php#L952

952行目
```
$headers .= $newline;
```

を $headersが改行文字で終わってない場合に変更するのがよさそうですね。

944行目から828行目(get_header)に飛んだ場合も改行は負荷されるようですし、
948行目でも改行文字は追加されるようです。

ただし、foreach文にかからずヘッダがなにも追加されなかった場合にはブランクのままなので改行を追加する必要があります。
(emailの場合はないはずですが)

というわけで直すなら952行を条件付きの改行追加にするのが良いのではないでしょうか。


余談です。Issueについては無理にとは言いませんが、

Hi
FuelPHPを使ってメールを送信した。
受信したメールの本文が改行で始まっている。
driverの952行目かsmtpの82行目あたりが原因だと私は思う。
Thank you.

ぐらいでわかってもらえると思います。
必要があればコードと、受信したメールヘッダ(隠したいところはxxxxとかにかえつつ)を示せば良いと思います。

私も英語全然できませんが大体わかってもらえます(向こうもわかろうとしてくれます)。
sorry for my poor englishはあんまり言いすぎるとくどいようですのでほどほどに。

回答を投稿

ソースは全然みていませんが、SMTPの仕様としてヘッダの後、ボディの前には空行がなければならかったと思います。

82行目の$this->config['newline'] はそのためのものでしょう。
一方952行目のnewlineはヘッダの文字列が改行で終わってない場合のためのものと思います。

例としては

(略、その他ヘッダ)
subject: title \r\n ← 952行目のnewline
\r\n ← 82行目のnewline
messagebody
(略)
\r\n.\r\n

(これは件名がヘッダの最後にあるという仮定の元にあります。SMTPの仕様上それは決められていませんのでただの仮定です。)
こういう想定だったとしてどちらかのnewlineを無条件に消すと問題になりますので、
そもそもヘッダの最後に何が来ているのかを見ないといけないでしょうね。

たとえば、上の例のように最後に件名が来ている場合設定している件名の最後に改行文字が含まれていないか、件名を空で送るとどうなるかなどもチェックされた方が良いでしょう。
件名ではなくても自分で設定している項目であれば同様です。

昔からそうならissueになにかしら上がりそうな気もするのでパラメータの設定ミスまたは最近の修正でおきたのかもしれませんね。調べてみて向こうの問題の様であればissueにあげてみるのもいいかもしれません。

ソースは全然みていませんが、SMTPの仕様としてヘッダの後、ボディの前には空行がなければならかったと思います。

82行目の$this->config['newline'] はそのためのものでしょう。
一方952行目のnewlineはヘッダの文字列が改行で終わってない場合のためのものと思います。

例としては
```
(略、その他ヘッダ)
subject: title \r\n ← 952行目のnewline
\r\n ← 82行目のnewline
messagebody
(略)
\r\n.\r\n
```
(これは件名がヘッダの最後にあるという仮定の元にあります。SMTPの仕様上それは決められていませんのでただの仮定です。)
こういう想定だったとしてどちらかのnewlineを無条件に消すと問題になりますので、
そもそもヘッダの最後に何が来ているのかを見ないといけないでしょうね。

たとえば、上の例のように最後に件名が来ている場合設定している件名の最後に改行文字が含まれていないか、件名を空で送るとどうなるかなどもチェックされた方が良いでしょう。
件名ではなくても自分で設定している項目であれば同様です。

昔からそうならissueになにかしら上がりそうな気もするのでパラメータの設定ミスまたは最近の修正でおきたのかもしれませんね。調べてみて向こうの問題の様であればissueにあげてみるのもいいかもしれません。